习题7-6 统计大写辅音字母
分数 15
全屏浏览题目
切换布局
作者 C课程组
单位 浙江大学
英文辅音字母是除A
、E
、I
、O
、U
以外的字母。本题要求编写程序,统计给定字符串中大写辅音字母的个数。
输入格式:
输入在一行中给出一个不超过80个字符、并以回车结束的字符串。
输出格式:
输出在一行中给出字符串中大写辅音字母的个数。
输入样例:
HELLO World!
输出样例:
4
#include<stdio.h>
int main(void){
char a[80];
int i;
gets(a);
i=0;
int count=0;
while(a[i]!='\0'){//注意存入的是字符串,gets在扫描到换行符自动结束扫描,
//然后自动存入字符串结束符'\0',所以循环判断不是换行符,若要是,可以参照下面的代码
//注意题目要求时大写的,所以还有一个限定条件
if(a[i]!='A'&&a[i]!='E'&&a[i]!='I'&&a[i]!='O'&&a[i]!='U'&&a[i]>65&&a[i]<=90)count++;
i++;
}
printf("%d",count);
return 0;
}
注意:这个代码,有一个测试点无法通过,我还没找到原因,如果有知道原因求告知。
给出另一个代码:
正确代码:
#include<stdio.h>
int main(){
char ch;//很简洁,直接用一个字符变量分别输入,输入后就判断
//判断后通过循环再次输入如此循环反复。
int count=0;
while((ch=getchar())!='\n'){ //给出一个输入并以回车符结束
if(ch>='A' && ch<='Z') //判断是大写字母
if(ch!='A' && ch!='E' &&ch!='I' &&ch!='O' &&ch!='U')//判断是辅音字母
count++;
}
printf("%d",count);
return 0;
}