关于#c语言#的问题,请各位专家解答!

img


这个问题怎么做
关于#c语言#的问题,请各位专家解答!
关于#c语言#的问题,请各位专家解答!

用双层循环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;
} 

img