题目是:接受用户输入的字母(暂定为大写)用以显示以他为底层的字母金字塔结构,然后,是否继续重复操作。
基本的框架已经做好了,但是第二次,进行重复操作的时候,就出现问题。好像是没有清空键盘存缓。但不知道,究竟错在哪里,希望大家能稍加提示,不胜感激。
现在的程序如下:第一次执行正常,(写的有点乱,请见谅)
#include<stdio.h>
void main()
{
int x,y,z; //x,控制行数,y,用来控制输出的空格,z,用来输出每行的个数。
char a=65,input,dist; //a=65 用来输出第一行字母为A, input 代表用户自定的字母 dist,控制是否重新输入
do
{
printf("\n请输入任意一个字母:\t"); //接受用户自定的字母
fflush(stdin);
input=getchar();
input=(int)input-64;
for (x=1;x<=input;x++) //控制行数
{
for (y=1;y<=input-x;y++) //打印出空格数
printf(" ");
for (z=1;z<=2*x-1;z++)
{ //打印每行的数目
printf("%c",a);
}
a++;
printf ("\n");
}
printf("\n您还需要输入另外的字母吗?(y/n)\t");
fflush(stdin);
dist=getchar();
}
while (dist!='N'&&dist!='n'); //选N或n结束循环
}