作业帮 > 综合 > 作业

从键盘输入一串字符,统计其中元音字母的个数并输出.(元音字母指的是a,e,i,o,u,不论大小写)C语言、

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/12 00:13:10
从键盘输入一串字符,统计其中元音字母的个数并输出.(元音字母指的是a,e,i,o,u,不论大小写)C语言、
= =、不要用什么数组、指针的、都木有教过.目前本人只学到循环神马的、/(ㄒoㄒ)/~
从键盘输入一串字符,统计其中元音字母的个数并输出.(元音字母指的是a,e,i,o,u,不论大小写)C语言、
#include
void main()
{
\x09char c;
\x09int count=0;
\x09while(c=getchar()) //输入字符串,但每次只接收一个字符
\x09{
\x09\x09if(c==10) break; //如果c为换行符,即表示字符串输入结束,则退出循环
\x09\x09if(c=='a'||c=='e'||c=='i'||c=='o'||c=='u'||c=='A'||c=='E'||c=='I'||c=='O'||c=='U')
\x09\x09\x09count++;
\x09}
\x09printf("%d",count);
\x09getchar();
}
再问: 还要输出这些数要怎么输出呀?
再答: #include void main() { char c; int count=0; while(c=getchar()) { if(c==10) break; if(c=='a'||c=='e'||c=='i'||c=='o'||c=='u'||c=='A'||c=='E'||c=='I'||c=='O'||c=='U') { count++; printf("%c ",c);//在这里输出就行了,判断是元音则输出 } } printf("\n%d",count); getchar(); }
再问: while(c=getchar()) if(c==10) break; 这个是什么意思额? 为什么c==10 然后终止?
再答: getchar()每次只能接收一个字符,虽然你输入了一个字符串,比如说hello,c也只能一个一个的接收,每接收一个就进入循环体匹配一次。 你输入hello后点击回车就作为输入了,但是回车符号也在输入流里面,所以接受完字母o之后还要接收后面的回车符。 当接受到回车符时,回车符的ascii码值是10,第一个if成立,表示当前字符串已经全部被处理了,所以就跳出循环。