用C语言编写一个程序输出菱形图案

编写一个程序输出菱形图案,第一行为一个字母A第二行为两个字母B依次类推,第n行为2n-1个相应字母,以后每行递减,N由键盘输入

#include<stdio.h>
int main(void)
{
   int i,j,k,n;
   printf("n=");
   scanf("%d",&n);
   for(i=1;i<=n;i++)
   {
     for(j=1;j<=n+1-i;j++)
        printf(" ");
     for(k=1;k<=2*i-1;k++)
        printf("%c",64+i);
     printf("\n");
   }
   for(i=1;i<=n-1;i++)
   {
      for(j=1;j<=i+1;j++)
         printf(" ");
      for(k=1;k<=2*(n-i)-1;k++)
         printf("%c",65+n-i-1);
      printf("\n");
   }
   return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-30

按你的说法第二行应该是3个字母B啊

#include <stdio.h>
#include <string.h>

void main()
{
    int N;
    int i, j;
    while (1 == scanf("%d", &N) )
    {
        for (i = 0; i < N; i++)
        {
            for (j = 0; j < N - i - 1; j++)
                putchar(' ');
            for (j = 0; j < i * 2 + 1; j++)
                putchar('A' + i);
            putchar('\n');
        }
        for (i = N - 2; i >= 0; i--)
        {
            for (j = 0; j < N - i - 1; j++)
                putchar(' ');
            for (j = 0; j < i * 2 + 1; j++)
                putchar('A' + i);
            putchar('\n');
        }
    }
    return;
}

第2个回答  2013-12-30
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void main(void){
char i,ci,j,n,ch;
printf("请输入菱形中心数...\nn=");
scanf("%d",&n);
printf("\n\n");
for(ch='A',i=1,ci=0;i;++ci<n ? i++ : i--,ch++){
printf("%*.*s",48-i,1,"");
for(j=0;j<=2*i-2;j++)
printf("%c",ch);
printf("\n");
}
}本回答被提问者采纳
相似回答