C语言实现长方形填充,按字母顺序排列
C语言实现长方形填充,按字母顺序排列
问题描述: 给定长和宽,请输出一个长方形,并按 a-z 顺序填充。
输入格式: 多组数据,处理到文件尾。每组数据输入两个整数 n,m,代表长方形的宽和高,0<n,m<=20,n*m<=26。
输出格式: 请输出以字符为填充的长方形,每个图案之间空一行。
分析: 由于每个字符都需要按照 a-z 的顺序填充,因此需要定义一个变量来记录当前应该填充的字符。每次填充完一个字符后,该变量自增 1,直到填充完所有字符。然后再从 a 开始重新填充。按照题目要求输出长方形即可。
代码示例:
#include <stdio.h>
int main() {
int n, m, i, j, k = 0;
char ch;
while (scanf("%d %d", &n, &m) != EOF) {
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
ch = 'a' + k;
printf("%c", ch);
k = (k + 1) % 26;
}
printf("\n");
}
printf("\n");
}
return 0;
}
代码解析:
- 定义变量
n和m表示长方形的宽和高,i和j用于控制循环,k用于记录当前应该填充的字符,ch用于保存当前填充的字符。 - 使用
while循环读取输入数据,直到文件尾。 - 使用嵌套循环遍历长方形的每个位置。
- 使用
ch = 'a' + k计算当前填充的字符,并使用printf输出该字符。 - 使用
k = (k + 1) % 26更新k的值,使下一个字符按字母顺序排列。 - 使用
printf("\n");输出换行符,将长方形的每一行隔开。 - 使用
printf("\n");输出两个换行符,将不同的长方形图案隔开。
运行结果: 输入:
3 4
5 3
输出:
abcd
abcd
abcd
abcd
abcde
abcde
abcde
总结: 本文介绍了使用 C 语言解决给定长和宽,输出一个长方形并按字母顺序填充的问题,并提供详细代码示例。该代码使用了一个变量来记录当前应该填充的字符,并使用模运算实现循环填充。希望本文对你有所帮助。
原文地址: https://www.cveoy.top/t/topic/nfNp 著作权归作者所有。请勿转载和采集!