求用C语言输出字母金字塔,用递归函数
#include <stdio.h>
void prt(int n,char c)
{if(c>'A')prt(n,c-1);
for(int i=0;i<n+'A'-c;i++)
printf(" ");
for(int i=0;i<=2*(c-'A');i++)
printf("%c",c);
printf("\n");
}
int main()
{char c;
scanf("%c",&c);
if(c>='a'&&c<='z')c-=32;
if(c>='A'&&c<='Z')prt(c-'A',c);
return 0;
}
我要的结果是最后一层是ABCDEFGHIJKLMNOPQRSTUVWXYZYXWVUTSRQPONMLKJIHGFEDCBA
问题要一步说到位。
#include <stdio.h>
void prt1(char c,char c1)
{printf("%c",c);
if(c<c1)prt1(c+1,c1);
else return;
printf("%c",c);
}
void prt(int n,char c)
{if(c>'A')prt(n,c-1);
for(int i=0;i<n+'A'-c;i++)
printf(" ");
prt1('A',c);
printf("\n");
}
int main()
{char c;
scanf("%c",&c);
if(c>='a'&&c<='z')c-=32;
if(c>='A'&&c<='Z')prt(c-'A',c);
return 0;
}