这个怎么弄啊,求答疑

img


大一第一次学c语言,没学明白,求大家帮忙答疑,谢谢大家了,希望能有人回答

可以使用两个循环来实现,外层循环控制打印的行数,内层控制打印每行的星号和空格。

代码如下:

#include <stdio.h> 

int main(void){
    
    
    int i,j;
    printf("使用for循环打印:\n");
    for(i=1;i<=4;i++){ // 外层循环控制打印的行数 ,这里是打印四行 
    // 内层循环控制每行打印几个星号,打印次数与i的关系是,每行打印2*i-1个星号,同时在星号后面打印一个空格     
        for(j=1;j<=2*i-1;j++){  
            printf("* ");
        }
        if(i<4){ // 如果没到最后一行,则每行结束打印一个换行符 
            printf("\n");
        }
    }
    
    printf("\n\n使用do-while循环打印:\n"); 
    // 使用do-while循环打印,与for循环类似 
    i=1;
    do{
        j=1;
        do{
            printf("* ");
            j++;
        }while(j<=2*i-1);
        
        if(i<4){
            printf("\n");
        }
        i++;
    } while(i<=4);
    
    return 0;
}

img

供参考:

#include <stdio.h>
int main()
{
    int N, i, j;
    scanf("%d", &N);
    for (i = 0; i < N; i++){
        if (i)
            printf("\n");
        for (j = 0; j < 2 * i + 1; j++)
            printf(j ? " %c" : "%c", '*');
    }
    return 0;
}