鱼C论坛

 找回密码
 立即注册
查看: 1079|回复: 7

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

[复制链接]
发表于 2020-2-12 15:14:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目和运行结果 在附件中,
(小声)感觉...没错误呀
代码如下:
#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;
}
最佳答案
2020-2-12 16:37:24
是while那行的问题,你的右括号把 != '\n'也括进去了,应该是while((ch = getchar()) != '\')
运行.png
题目.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-12 15:20:08 | 显示全部楼层
ch 改为char类型试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-12 15:22:36 | 显示全部楼层
f-wind 发表于 2020-2-12 15:20
ch 改为char类型试试

我试试哈,但是我听课,还有做的课后作业种,ch一直都是定义为int类型呀, 我先试试char
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-12 15:25:09 | 显示全部楼层
f-wind 发表于 2020-2-12 15:20
ch 改为char类型试试

还是不行哎....
运行在附件中
更改后的运行.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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();
        }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-12 16:37:24 | 显示全部楼层    本楼为最佳答案   
是while那行的问题,你的右括号把 != '\n'也括进去了,应该是while((ch = getchar()) != '\')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-12 17:08:11 | 显示全部楼层
f-wind 发表于 2020-2-12 16:21
改成这样:
ch = getchar();
        while ((ch != '\n'))

懂啦!!!!谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-12 17:15:49 | 显示全部楼层
大肥侃子 发表于 2020-2-12 16:37
是while那行的问题,你的右括号把 != '\n'也括进去了,应该是while((ch = getchar()) != '\')

大哥你又来了!!! 太爱你了!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-7 04:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表