编程论坛
注册
登录
编程论坛
→
C++教室
菜鸟求助(c++ primer 习题)
hanpengqd
发布于 2008-10-10 15:21, 1168 次点击
编写一个程序,它每次读取一个单词,直到用户只输入q.然后,该程序指出有多少个单词以原音打头,有多少歌单词以辅音打头,还有多少个单词不属于这两类。
大家帮帮忙啊,我咋老写不好这小程序
7 回复
#2
blueboy82006
2008-10-10 18:30
嗯,你尽力写...
有错误没关系...
新手难免犯错误...
写完把代码发上来...让大家帮你看一下...
这样多好...
#3
newyj
2008-10-10 21:42
这个 好象 书上 有个 这样的 例子啊 不知道 是不是在 c++ primer上
把元音 和 辅音的 列出来 用 switch来 选择
#4
hanpengqd
2008-10-10 21:45
回复 3# newyj 的帖子
是课后题啊,帮帮忙
我不会把输入的字符弄成单词形式,是不是用个字符数组存放单词啊
#5
独孤剑魔
2008-10-10 23:47
我到是有思路,不过什么叫元音字母,什么叫辅音字母啊?
#6
独孤剑魔
2008-10-11 00:32
#include<iostream>
#include<string>
using namespace std;
void main()
{
string s;
int i=0;//元音字母个数
int j=0;//辅音字母个数
int not=0;//非以上两类
cout<<"请输入单词,进行统计"<<endl;
while(cin>>s)
{
//可以采用switch,或者ASCII码进行隐式转换也可。不过我使用逻辑运算符操作
if(s=="q.")
break;
char c = s[0];
if(c=='a'||c=='A'||c=='e'||c=='E'||c=='i'||c=='I'||c=='o'||c=='O'||c=='u'||c=='U')
{
++i;
continue;
}
if(c=='r'||c=='R'||c=='y'||c=='Y')
{
++not;
continue;
}
else
{
++j;
}
}
cout<<"元音字母开头的单词有"<<i<<"个"<<endl;
cout<<"辅音字母开头的单词有"<<j<<"个"<<endl;
cout<<"非以上两类开头的单词有"<<not<<"个"<<endl;
}
#7
hanpengqd
2008-10-11 20:03
回复 6# 独孤剑魔 的帖子
谢谢啊
这样就不能输入数字了吧?
[[it] 本帖最后由 hanpengqd 于 2008-10-11 20:05 编辑 [/it]]
#8
独孤剑魔
2008-10-12 09:24
我没多考虑,只是看到你说输入单词,以为挺急的就直接写了这代码。这代表可能不是很好,你可以在自己研究研究。
如果也包括数字,感觉有点离题意了,那些写就很麻烦,不过简单的方法是将获取到的char类型的头字母给一个int类型,使用ASCII码与算术运算符操作,会减少些代码的。例如a-f,可是判断获取最终的int变量是否在97-102之间,如果描述的不清楚,你在仔细想想吧。
[[it] 本帖最后由 独孤剑魔 于 2008-10-12 09:33 编辑 [/it]]
1