bjlggclxwhg 发表于 2020-2-12 15:14:51

C语言!小甲鱼布置的作业qwq,求大神看看我哪里出错了

题目和运行结果 在附件中,
(小声)感觉...没错误呀
代码如下:
#include <stdio.h>

int main()
{
    int ch,count,a,e,i,o,u;
    count = 0;
    a = 0;
    e = 0;
    i = 0;
    o = 0;
    u = 0;
    printf("请输入一个英文句子:");
    while((ch = getchar()!='\n'))
    {
      if(ch == 'a'||ch == 'A')
      {
            a++;
            count++;
      }
      else if(ch == 'e'||ch == 'E')
      {
            e++;
            count++;
      }
      else if(ch == 'i'||ch == 'I')
      {
            i++;
            count ++;
      }
      else if(ch == 'o'||ch == 'O')
      {
            o++;
            count++;
      }
      else if(ch == 'u'||ch == 'U')
      {
            u++;
            count++;
      }
    }
    printf("您输入的句子中,包含元音字母%d个\n",count);
    printf("其中:a(%d),e(%d),i(%d),o(%d),u(%d)\n",a,e,i,o,u);
    return 0;
}

f-wind 发表于 2020-2-12 15:20:08

ch 改为char类型试试

bjlggclxwhg 发表于 2020-2-12 15:22:36

f-wind 发表于 2020-2-12 15:20
ch 改为char类型试试

我试试哈,但是我听课,还有做的课后作业种,ch一直都是定义为int类型呀, 我先试试char

bjlggclxwhg 发表于 2020-2-12 15:25:09

f-wind 发表于 2020-2-12 15:20
ch 改为char类型试试

还是不行哎....
运行在附件中

f-wind 发表于 2020-2-12 16:21:10

改成这样:
ch = getchar();
        while ((ch != '\n'))
        {
                if (ch == 'a' || ch == 'A')
                {
                        a++;
                        count++;
                }
                else if (ch == 'e' || ch == 'E')
                {
                        e++;
                        count++;
                }
                else if (ch == 'i' || ch == 'I')
                {
                        i++;
                        count++;
                }
                else if (ch == 'o' || ch == 'O')
                {
                        o++;
                        count++;
                }
                else if (ch == 'u' || ch == 'U')
                {
                        u++;
                        count++;
                }

                ch = getchar();
        }

大肥侃子 发表于 2020-2-12 16:37:24

是while那行的问题,你的右括号把 != '\n'也括进去了,应该是while((ch = getchar()) != '\'){:10_305:}

bjlggclxwhg 发表于 2020-2-12 17:08:11

f-wind 发表于 2020-2-12 16:21
改成这样:
ch = getchar();
        while ((ch != '\n'))


懂啦!!!!谢谢!

bjlggclxwhg 发表于 2020-2-12 17:15:49

大肥侃子 发表于 2020-2-12 16:37
是while那行的问题,你的右括号把 != '\n'也括进去了,应该是while((ch = getchar()) != '\')

大哥你又来了!!! 太爱你了!!!!
页: [1]
查看完整版本: C语言!小甲鱼布置的作业qwq,求大神看看我哪里出错了