|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我的代码是这样的:
#include<stdio.h>
int main()
{
int a,e,i,o,u;
char ch;
a=e=i=o=u=0;
printf("请输入一段英文句子:");
while(ch=getchar() != '\n')
{
if(ch=='a')
{
a++;
}
else if(ch=='e')
{
e++;
}
else if(ch=='i')
{
i++;
}
else if(ch=='o')
{
o++;
}
else if(ch=='u')
{
u++;
}
}
printf("a有%d个",a);
printf("e有%d个",e);
printf("i有%d个",i);
printf("o有%d个",o);
printf("u有%d个",u);
return 0;
}
输入句子之后所有元音打印出来都是0个,不知道哪错了
我看答案用的是switch语句,如果想用if语句该怎么改?
本帖最后由 jackz007 于 2022-9-26 18:24 编辑
- #include <stdio.h>
- int main(void)
- {
- char ch , e[5] = {'a' , 'e' , 'i' , 'o' , 'u'} ;
- int d[5] = {0} , i , j , k , n ;
- printf("请输入一段英文句子:") ;
- for(i = 0 ; i < 5 ; i ++) d[i] = 0 ;
- for(; (ch = getchar()) !='\n' ;) {
- for(i = 0 ; i < 5 ; i ++) if(ch == e[i] || ch == e[i] - 32) d[i] ++ ;
- }
- for(i = 0 ; i < 5 ; i ++) {
- if(d[i]) printf("%c(%c)有 %d 个\n" , e[i] , e[i] - 32 , d[i]) ;
- }
- }
复制代码
编译、运行实况:
- D:\[00.Exerciese.2022]\C>g++ -o x x.c
- D:\[00.Exerciese.2022]\C>x
- 请输入一段英文句子:I'm a programmer !
- a(A)有 2 个
- e(E)有 1 个
- i(I)有 1 个
- o(O)有 1 个
- D:\[00.Exerciese.2022]\C>
复制代码
|
|