c语言实现一个按下'y'或是'Y'就继续运算,输入其他字符就结束打印结果的程序,不能实现功能

具体代码如下:
#include<stdio.h>
int main()
{
int a=0;
char b;
while(1)
{
printf("要继续计算的话请输入'y'或是'Y'否则请输入其他的字符:\n");
scanf("%c",&b);
if((b=='y')||(b=='Y'))
a+=1;
else
break;

}
printf("最后的结果是:%d\n",a);
return 0;

}

scanf("%c",&b);
getchar();
下面加个getchar();用于吃掉上次的回车键,要不然你的下次b直接就是回车键了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-02
#include<stdio.h>
int main()
{
    int a=0;
    char b;
    while(1)
    {
        printf("要继续计算的话请输入'y'或是'Y'否则请输入其他的字符:\n");
        b = getchar();
        printf("\n%c = 0x%X\n", b, b);
        if((b=='y')||(b=='Y'))
        {
            a+=1;
            while((b = getchar()) != '\n' && b != EOF);
        }
        else
            break;
    }
    printf("最后的结果是:%d\n",a);
    return 0;
}

第2个回答  2013-05-02
添加头文件#include<conio.h>
把scanf("%c",&b);改为b=getch();
就可以了
第3个回答  2013-05-02
因为你输入某个字符时 比如输入y
y enter
换行符也当字符输进去了
所以就结束了
第4个回答  2013-05-02
你要把printf("最后的结果是:%d\n",a);放在if成立的代码段里面。。
相似回答
大家正在搜