第三题:打印九九乘法表
实验题目
编写一个C程序,打印出9x9乘法表的一部分。
程序应该使用两个嵌套的 for 循环来实现。外层循环控制乘法表的行数,从1到9;内层循环控制每行中的列数,列数应该等于当前的行数。
在每个内层循环中,程序应该打印出当前列数和行数的乘积,并且每个乘积后面跟随一个制表符 \t 以保持格式整齐。
每行结束后,程序应该打印一个换行符 \n 以开始新的一行。
参考输出格式 printf("%d*%d=%d\t", j, i, i * j);
实验要求
- 使用嵌套循环:程序需要使用两个嵌套的
for
循环来实现乘法表的打印。 - 外层循环:外层循环控制乘法表的行数,从1到9。
- 内层循环:内层循环控制每行中的列数,列数应该等于当前的行数。
- 打印乘积:在每个内层循环中,程序应该打印出当前列数和行数的乘积,并且每个乘积后面跟随一个制表符
\t
以保持格式整齐。 - 换行:每行结束后,程序应该打印一个换行符
\n
以开始新的一行。
实验代码框架
//03_nested_loops.c
#include <stdio.h>
/**
* 题目描述:
* 编写一个C程序,打印出9x9乘法表的一部分。
* 程序应该使用两个嵌套的 for 循环来实现。外层循环控制乘法表的行数,从1到9;内层循环控制每行中的列数,列数应该等于当前的行数。
* 在每个内层循环中,程序应该打印出当前列数和行数的乘积,并且每个乘积后面跟随一个制表符 \t 以保持格式整齐。
* 每行结束后,程序应该打印一个换行符 \n 以开始新的一行。
* 参考输出格式 printf("%d*%d=%d\t", j, i, i * j);
*/
int main(void)
{
//TODO
return 0;
}
实验解析
代码实现
#include <stdio.h>
int main(void)
{
// 外层循环控制行数
for (int i = 1; i <= 9; i++) {
// 内层循环控制列数,列数等于当前行数
for (int j = 1; j <= i; j++) {
// 打印乘积和制表符
printf("%d*%d=%d\t", j, i, i * j);
}
// 每行结束打印换行符
printf("\n");
}
return 0;
}
代码解释
- 外层循环:
for (int i = 1; i <= 9; i++)
,这个循环从1到9,代表乘法表的行数。 - 内层循环:
for (int j = 1; j <= i; j++)
,这个循环的次数由外层循环的当前值i
决定,即每行的列数等于当前的行数。 - 打印乘积:
printf("%d*%d=%d\t", j, i, i * j);
,这个语句打印出当前列数j
和行数i
的乘积,并且每个乘积后面跟随一个制表符\t
,以保持输出格式整齐。 - 换行:
printf("\n");
,这个语句在每行结束后打印一个换行符\n
,以开始新的一行。