📅  最后修改于: 2023-12-03 15:14:26.312000             🧑  作者: Mango
数字三角形是一道经典的编程练习题,通过C语言实现数字三角形的打印可以帮助程序员练习循环语句和条件语句的运用。
输入一个数字n,输出由1~n组成的数字三角形,每一行数字的数量增加1。例如,输入数字n=5,则输出如下数字三角形:
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
数字三角形的打印需要满足一个规律:每一行数字的数量增加1。因此可以使用循环语句实现,同时需要对当前输出的数字进行判断,以决定是否需要换行。具体思路如下:
#include <stdio.h>
int main() {
int n, count = 1;
printf("请输入数字n:");
scanf("%d", &n); // 输入数字n
for (int row = 1; row <= n; row++) { // 外层循环,控制每一行数字的输出
for (int col = 1; col <= row; col++) { // 内层循环,控制当前行数字的输出
printf("%d ", count); // 输出数字
count++; // 计数器加1
if (count > n * n) { // 如果数字已经全部输出,则跳出循环
break;
}
if (count == (row + 1) * row / 2 + 1) { // 如果当前输出数字的总数等于当前行数字的数量,换行输出下一行数字
printf("\n");
break;
}
}
if (count > n * n) { // 如果数字已经全部输出,则跳出循环
break;
}
}
return 0;
}
通过以上代码实现,可以打印出任意数字n的数字三角形。这里需要特别强调的是,在进行循环嵌套时,需要注意内层循环中的计数器变量和外层循环中的变量要分别定义和初始化,否则会出现逻辑错误。同时,计算总数的公式为上一行总数+当前行数字的数量,即(row+1)*row/2+1,需要注意分母/2的情况。