15917579239 发表于 2017-4-17 16:57:35

课后作业s1e15

#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;
}
上面代码如果用if 语句怎么写 我写的输出结果全是00000

lumber2388779 发表于 2017-4-17 17:26:34

本帖最后由 lumber2388779 于 2017-4-17 17:32 编辑

你可以把你自己写的if的程序也发出来,我帮你分析下是哪里出错了
你的代码跟你的问题实际不是同一个,这样没办法分析

machimilk 发表于 2017-4-18 15:17:05

int _tmain(int argc, _TCHAR* argv[])
{
        char ch;
        int a, e, i, o, u;

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

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

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

        }

        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;
}
页: [1]
查看完整版本: 课后作业s1e15