投入就放过 发表于 2022-2-9 18:33:34

c语言第15课 统计英语句子中元音字母的个数

#include <stdio.h>

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

为什么这样会报错

答案:
#include <stdio.h>

int main()
{
      char ch;
      int a, e, i, o, u;

      a = 0;
      e = 0;
      i = 0;
      o = 0;
      u = 0;

      printf("请输入一个英文句子:");

      while ((ch = getchar()) != '\n')
      {
                switch (ch)
                {
                        case 'a':
                        case 'A': a++;
                                  break;
                        case 'e':
                        case 'E': e++;
                                  break;
                        case 'i':
                        case 'I': i++;
                                  break;
                        case 'o':
                        case 'O': o++;
                                  break;
                        case 'u':
                        case 'U': u++;
                                  break;
                }
      }

      printf("您输入的句子中,包含元音字母%d个!\n", a + e + i + o + u);
      printf("其中:a(%d),e(%d),i(%d),o(%d),u(%d)\n", a, e, i, o, u);

      return 0;
}

ckblt 发表于 2022-2-9 18:40:15

=和==的区别你要搞清楚呀!
#include <stdio.h>

int main()
{
    int a = 0, e = 0, i = 0, o = 0, u = 0;
    int ch, sum = 0;

    printf("请输入一个英语句子:");

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

    sum = a + e + i + o + u;

    printf("您输入的句子中,包含元音字母%d个!\n", sum);
    printf("其中:a(%d),e(%d),i(%d),o(%d),u(%d)\n", a, e, i, o, u);

    return 0;
}

投入就放过 发表于 2022-2-9 20:33:49

ckblt 发表于 2022-2-9 18:40
=和==的区别你要搞清楚呀!

哦哦 懂了
页: [1]
查看完整版本: c语言第15课 统计英语句子中元音字母的个数