C语言输入一个值打印图形

 --------参考---------

#include<stdio.h>

void paint_1(int n, char a){
    if(n <= 0){
       printf("error");
       exit(0);
   }else{
        for(int i = 1 ; i <= n; i++){
            for(int j = 1; j <= n-i; j++)
                printf(" ");
 
            for(int j = 1; j <= i; j++)
                printf("%c", a);
            printf("\n");
 
           }
    }
}


void paint_2(int n, char a){
   int count = 1;
   if(n<= 0){
        printf("error");
        exit(0);
   }
   else{
        //输出的第一行图形
       for(int i = 1; i<= 1; i++){
            //打印空格
            for(int j = 1; j<= n-i; j++){
                printf(" ");
            }
            printf("%c\n",a);
            
         }
 
 
       //输出第二行到第n-1行的图形
       for(int i = 2; i <= n - 1; i++){
            //打印三角形外面空格
            for(int j = 1; j <= n - i; j++)
                printf(" ");
 
            //打印第一个符号
            printf("%c", a);
 
            //打印三角形里面空格
            for(int j = 1; j <= count ; j++){
                printf(" ");
            }
            printf("%c\n", a);
 
            count += 2;
       }
 
       //打印最后一行的符号
       for(int i = n; i<= n; i++){
            for(int j = 1; j <= 2*n - 1; j++)
                printf("%c",a);
       }
 
       printf("\n");
 
   }
}


int main(){
   int n;
   char m;
   int i,j;
   scanf("%d,%c", &n,&m);
   paint_1(n, m);
   printf("\n");
   paint_2(n,m);
   
}

猜你喜欢

转载自blog.csdn.net/sdaujz/article/details/111934989
今日推荐