题目:
打印出英文字母表A到Z,每行打印三个字母,并在每行末尾换行。
实现思路:
- 初始化一个整数变量
i
为0,用于循环计数。- 初始化一个字符变量
m
为'A',表示英文字母表的起始字母。- 使用
for
循环,从1开始到26结束(包含26),每次循环增加1。- 在循环体内,使用
printf
函数打印当前字母。当前字母是m
加上i-1
,因为m
已经是'A',所以m+(i-1)
就可以得到从'A'开始的第i
个字母。- 使用
if
语句判断i
是否是3的倍数(即i
除以3的余数为0),如果是,则打印一个换行符,实现每行打印三个字母后换行的效果。- 循环结束后,
main
函数返回0,表示程序正常结束。
代码:
#include <stdio.h>
int main() {
int i = 0; // 初始化循环计数器i为0
char m = 'A'; // 初始化字符m为'A',表示英文字母表的起始字母
for(i = 1; i <= 26; i++) { // 使用for循环,从1开始到26结束
printf("%d ", m + (i - 1)); // 打印当前字母,通过m+(i-1)得到从'A'开始的第i个字母
if(!(i % 3)) printf("\n"); // 如果i是3的倍数,打印换行符
}
return 0; // 程序正常结束,返回0
}
解读:
#include <stdio.h>
:引入标准输入输出头文件,以便使用printf
等函数。int main()
:程序的主入口点。int i = 0;
:定义一个整数变量i
并初始化为0,用于后续的循环计数。char m = 'A';
:定义一个字符变量m
并初始化为'A',代表英文字母表的起始字母。for(i = 1; i <= 26; i++)
:一个for
循环,从1开始到26结束,每次循环i
自增1。这里从1开始是因为我们已经有了一个初始字母'A',所以不需要从0开始。printf("%d ", m + (i - 1));
:在循环体内,使用printf
函数打印当前字母。这里使用m + (i - 1)
来计算当前要打印的字母,因为m
是'A',所以m + (i - 1)
就是从'A'开始的第i
个字母。不过这里有个小问题,%d
是用于打印整数的格式说明符,而我们应该使用%c
来打印字符。if(!(i % 3)) printf("\n");
:判断i
是否是3的倍数。如果是,执行printf("\n");
打印一个换行符,实现每行打印三个字母后换行的效果。!(i % 3)
的意思是i
除以3的余数不为0则为假(0),为0则为真(非0)。return 0;
:程序正常结束,返回0。