永发信息网

c++的一道题错在哪?谢了

答案:4  悬赏:40  手机版
解决时间 2021-05-11 04:52
#include<iostream.h>
void main()
{char ch;
int ai(0),ei(0),ii(0),oi(0),ui(0),sum(0);
cout<<"请输入一串字母:";cin>>ch;
while(ch!='#')
{ switch(ch)
{case'a':ai++;break;
case'e':ei++;break;
case'i':ii++;break;
case'o':oi++;break;
case'u':ui++;break;
}
}
sum=ai+ei+ii+oi+ui;
cout<<"ai="<<ai<<endl;
cout<<"ei="<<ei<<endl;
cout<<"ii="<<ii<<endl;
cout<<"oi="<<oi<<endl;
cout<<"ui="<<ui<<endl;
cout<<"sum="<<sum<<endl;
}
最佳答案

cin >> ch;没有放在循环内,这样即使输入一串字符,程序也只会读取第一个字符。

#include <iostream>


using namespace std;


int main()
{
char ch;
int ai(0), ei(0), ii(0), oi(0), ui(0), sum(0);
cout << "请输入一串字母:";
while(cin >> ch , ch != '#')
{
switch(ch)
{
case 'a':
ai++;
break;
case 'e':
ei++;
break;
case 'i':
ii++;
break;
case 'o':
oi++;
break;
case 'u':
ui++;
break;
}
}
sum = ai + ei + ii + oi + ui;
cout << "ai=" << ai << endl;
cout << "ei=" << ei << endl;
cout << "ii=" << ii << endl;
cout << "oi=" << oi << endl;
cout << "ui=" << ui << endl;
cout << "sum=" << sum << endl;
return 0;
}

运行截图:

全部回答

while(ch!='#') { switch(ch) {case'a':ai++;break; case'e':ei++;break; case'i':ii++;break; case'o':oi++;break; case'u':ui++;break; }

cin>>ch; }

不然会一直死在里面的,处理一个之后再重新读一个,直到为'#,'呵呵~小心

case后加个空格,最后要有:“return;”。
应该定义个字符数组来存放 输入的字符 然后遍历这个数组
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我和一个28岁的男人
点劵可以买东为什么不能赠送
人文地理考研参考书有哪些
宽带时间到了,家里接的无线网是不是也停了
梦幻的坐骑欢喜羊羊的装备加防御的45W值不?
哪个丝路英雄联盟愿意加我???
吃什么药可以根治盆腔炎
男人来自火星。那女人呢?
你最喜欢的网球高手是谁~~~
滴水观音径部有斑点滴水
QQ农场疑问
抽离的感觉是什么意思,啜手什么意思?什么感
我在拍拍卖游戏币交易成功后钱是直接打绑定(
少时真的都整过容吗?
缘定七夕任务
推荐资讯
那里能賣到港版iphone 3gs(8g)啊?價格在多
给个 真三国无双2 的下载地址
怎么把修改密码的问题一个改做三个
6位死保QQ几个月能上二代密保?
名字短领不好礼包
进入吴乐圈的条件是什么
求一道化学题答案
为什么我的熊熊还是登陆不了?
QQ炫舞《神》这个字要制作黄金色的好看的。网
表达新的开始唯美句子,恋爱心情的句子
晚上老是做梦,睡不着觉,怎么办,谁有方法可
湖北的孝感大还是荆门呢
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?