tianliangcsdn 2015-04-05 11:32 采纳率: 0%
浏览 1643

为什么运行结果不正确?

int zm=0,sz=0,qt=0;
char c;
c=getchar();
while(c!='\n')
{
if(c>='0 '&& c <='9')
sz++;
else if((c>='A' && c<='Z') || (c>='a' && c<='z'))
zm++;
else
qt++;
c=getchar();
}

printf("%d %d %d\n",sz,zm,qt);
system("pause");

  • 写回答

7条回答

  • threenewbee 2015-04-05 11:39
    关注

    c=getchar();
    getchar每执行一次获取一个字符,所以得放在循环里
    while(c!='\n')
    {
    ...
    c=getchar();
    }
    也可以放在循环条件上
    while((c = getchar()) !='\n')
    {
    ...
    }

    评论

报告相同问题?

悬赏问题

  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题