编写一个C程序,它能读入一个正整数n(09时用ABCD…Z补

    技术2022-05-20  52

    编写一个C程序,它能读入一个正整数n0<n<35),并能打印如下图形,其中最下层为1,最上层为2n-1n对应的数字。n>9时用ABCDZ补。如打印的图形可以为:

    ……………………………………………

     BBBBB……………BBBBB

      AAAAA………AAAAA

       999……………999

    ………………………

    33333

     222

      1

    程序的功能要求如下:

    输入一个正整数n0<n<35,非法则退出;

     

    #include<stdio.h>void main(){ int n,i,j,k,m; printf("请输入一个0-35之间的数字:/n"); scanf("%d",&n); if(n<10)          //当输入n小于10时的情况 {  for(i=1;i<=n;i++)  {   for(k=1;k<i;k++)                       //控制空格数   {    printf(" ");   }   for(j=1;j<=2*n-2*i+1;j++)   {    printf("%d",n-i+1);    }   printf("/n");  } } else if(n<20)          //当输入10<=n<20的情况  {   m=n+1;   for(i=1;i<=n-9;i++)       //输出10到n的部分   {    for(k=1;k<i;k++)     //控制空格数    {     printf(" ");    }    for(j=1;j<=2*n-2*i+1;j++)    {     printf("%c",m+65-i);    }    printf("/n");   }

       for(i=1;i<=9;i++)       //输出9-0的部分   {    for(k=1;k<i+m;k++)     //控制空格数    {     printf(" ");    }    for(j=1;j<=19-2*i;j++)    //控制每行的字母个数    {     printf("%d",10-i);     }    printf("/n");   }  } else if(n<30)         //当输入20<=n<30的情况 {  m=n;  for(i=1;i<=n-19;i++)       //输出20到n的部分  {   for(k=1;k<i;k++)      //控制空格数   {    printf(" ");   }   for(j=1;j<=2*n-2*i+1;j++)     //控制每行的字母个数   {    printf("%c",m+76-i);   }   printf("/n");  }  for(i=1;i<=10;i++)       //输出10到19的部分   {    for(k=1;k<=n+i-20;k++)    //控制空格数    {     printf(" ");    }    for(j=1;j<=39-2*i;j++)    //控制每行的字母个数    {     printf("%c",75-i);    }    printf("/n");   }

       for(i=1;i<=9;i++)       //输出9-0的部分   {    for(k=1;k<n+i-9;k++)    //控制空格数    {     printf(" ");    }    for(j=1;j<=19-2*i;j++)    //控制每行的字母个数    {     printf("%d",10-i);     }    printf("/n");   } } else if(n<36)         //当输入30<n<36的情况 {  m=n;  for(i=1;i<=n-29;i++)       //输出29以后的部分  {   for(k=1;k<i;k++)      //控制空格数   {    printf(" ");   }   for(j=1;j<=2*n-2*i+1;j++)    //控制每行的字母个数   {    printf("%c",m+86-i);   }   printf("/n");  }     for(i=1;i<=20;i++)        //输出29到10的部分  {   for(k=1;k<i+n-29;k++)     //控制空格数   {    printf(" ");   }   for(j=1;j<=59-2*i;j++)     //控制每行的字母个数   {    printf("%c",85-i);   }   printf("/n");  }  for(i=1;i<=9;i++)        //输出9-0的部分   {    for(k=1;k<n+i-9;k++)    //控制空格数    {     printf(" ");    }    for(j=1;j<=19-2*i;j++)    //控制每行的字母个数    {     printf("%d",10-i);     }    printf("/n");   } } else {  printf("输入的数字不符合要求/n"); }}


    最新回复(0)