用双层循环for控制打印即可,第一个for循环控制打印行数,第二个for循环控制打印的偏移量,再用一个变量存储打印的起点即可,代码如下:
参考链接:
C语言 输出前导零_迷麟Milin的博客-CSDN博客_c语言前导0
#include <stdio.h>
int main(void){
int N;
printf("请输入一个正整树:");
scanf("%d",&N);
printf("数字三角形阵列如下所示:\n");
int i,j,start=0;
for(i=0;i<N;i++){
for(j=0;j<N-i;j++){ //每次打印的数字的个数都比上一次少一个,N减去i即可实现这个控制要求
//默认N小于14,即保证输出的数小于100,最多两位数,用%02d格式打印即可
// 当N>=14 且 N <=44 ,输出的数不会超过1000,用%03d可以打印
//https://blog.csdn.net/qq_41705423/article/details/104648397/
printf("%02d ",start+j+1); //打印的数为每行的起点数字 加上偏移量(j+1)
}
start = start +j; //下一行打印的起点,即为此行打印的最后一个数 ,然后再加上偏移量(j+1),即可打印出每行的每一个数字
printf("\n");
}
return 0;
}