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

从键盘输入一串字符,统计其中元音字母的个数并输出.(元音字母指的是a,e,i,o,u,不论大小写)C语言、
= =、不要用什么数组、指针的、都木有教过.目前本人只学到循环神马的、/(ㄒoㄒ)/~
小小谭 1年前 已收到1个回答 举报

830223 幼苗

共回答了23个问题采纳率:82.6% 举报

#include
void main()
{
x09char c;
x09int count=0;
x09while(c=getchar()) //输入字符串,但每次只接收一个字符
x09{
x09x09if(c==10) break; //如果c为换行符,即表示字符串输入结束,则退出循环
x09x09if(c=='a'||c=='e'||c=='i'||c=='o'||c=='u'||c=='A'||c=='E'||c=='I'||c=='O'||c=='U')
x09x09x09count++;
x09}
x09printf("%d",count);
x09getchar();
}

1年前 追问

6

小小谭 举报

还要输出这些数要怎么输出呀?

举报 830223

#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 然后终止?

举报 830223

getchar()每次只能接收一个字符,虽然你输入了一个字符串,比如说hello,c也只能一个一个的接收,每接收一个就进入循环体匹配一次。 你输入hello后点击回车就作为输入了,但是回车符号也在输入流里面,所以接受完字母o之后还要接收后面的回车符。 当接受到回车符时,回车符的ascii码值是10,第一个if成立,表示当前字符串已经全部被处理了,所以就跳出循环。
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 18 q. 2.438 s. - webmaster@yulucn.com