循环输入一个数,输出字母金字塔,直到输入q停止
问题描述:
#include<stdio.h>
int main()
{
int i,j,k;
char ch,n;
while(n!='q')
{scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=1;j<n-i;j++)
{
printf(" ");
}
for(ch='A';ch<'A'+i+1;ch++)
{
printf("%c",ch);
}
for(ch='A'+i-1;ch>'A'-1;ch--)
{
printf("%c",ch);
}
printf("\n");
}
}
return 0;
}为什么一按q就无限循环了()求求大佬们了(>﹏<)
答
这么改下试试:
#include<stdio.h>
int main()
{
int i,j,k;
char ch,n;
while(scanf("%d",&n)==1 && (ch=getchar())!='q')//(n!='q')
{
//scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=1;j<n-i;j++)
{
printf(" ");
}
for(ch='A';ch<'A'+i+1;ch++)
{
printf("%c",ch);
}
for(ch='A'+i-1;ch>'A'-1;ch--)
{
printf("%c",ch);
}
printf("\n");
}
}
return 0;
}