C语言实现长方形字母填充

问题描述: 给定长和宽,请输出一个长方形,并以a-z顺序按顺序填充。

输入格式: 多组数据,处理到文件尾。每组数据输入两个整数n,m,代表长方形的宽和高,0<n,m<=20,n*m<=26。

输出格式: 请输出以字符为填充的长方形,每个图案之间空一行。

分析: 对于每个长方形,可以先将其初始化为全空格,然后按照字母顺序依次填充。填充的顺序为先从左到右,再从上到下。填充过程中,如果超过了字母'z',就从'a'重新开始。最后输出填充后的长方形即可。

代码如下:

#include <stdio.h>

int main() {
    int n, m, i, j, k = 0;
    char rectangle[20][20];

    while (scanf("%d %d", &n, &m) != EOF) {
        // 初始化长方形为全空格
        for (i = 0; i < m; i++) {
            for (j = 0; j < n; j++) {
                rectangle[i][j] = ' ';
            }
        }

        // 填充长方形
        for (i = 0; i < m; i++) {
            for (j = 0; j < n; j++) {
                rectangle[i][j] = 'a' + k;
                k = (k + 1) % 26; // 循环填充字母
            }
        }

        // 输出长方形
        for (i = 0; i < m; i++) {
            for (j = 0; j < n; j++) {
                printf("%c", rectangle[i][j]);
            }
            printf("\n");
        }
        printf("\n"); // 在每个长方形之间添加空行
    }

    return 0;
}

代码解析:

  1. 使用循环初始化一个二维字符数组rectangle,用于存储长方形的字符。
  2. 使用两个嵌套循环遍历长方形的每个位置,并根据k的值填充字母。
  3. k的值通过模运算% 26来循环填充字母。
  4. 最后使用两个嵌套循环输出填充后的长方形。

示例输入:

3 4
5 2

示例输出:

 abcd
 efgh
 ijkl

 abcd
 efgh

C语言实现长方形字母填充

原文地址: https://www.cveoy.top/t/topic/nfNl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录