英文辅音字母是除A、E、I、O、U以外的字母。本题要求编写程序,统计给定字符串中
大写
辅音字母的个数。
输入格式:
输入在一行中给出一个
不超过80个字符
、并
以回车结束
的字符串。
输出格式:
输出在一行中给出字符串中大写辅音字母的个数。
输入样例:
HELLO World!
输出样例:
4
此题和判断字符相同,只是含有两个判断,判断是否是大写字母,然后判断是否是辅音字母之外的。
注意:题目要求字符串长度不超过80,需将字符串结束符’\0’存入字符串尾,故长度为81
代码1:(简便)
#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;
}
2、当然,也可以定义两个计数器分别来计数大写字母和大写元音字母,两者相减即可得到大写辅音字母数。(可以定义单个字符ch或者数组)
代码2:
#include<stdio.h>
int main(){
int i,count1=0,count2=0;
char ch;
while((ch=getchar())!='\n'){
if(ch>='A'&&ch<='Z')
count1++;
if(ch=='A'||ch=='E'||ch=='I'||ch=='O'||ch=='U')
count2++; //计数大写元音字母
}
printf("%d",count1-count2); //相减得到大写辅音字母
return 0;
}
又或:
#include<stdio.h>
int main() {
int i, count1=0,count2=0,len=0;
char a[81];
for(i=0;(a[i]=getchar())!='\n';i++){
if (a[i]>='A'&&a[i]<='Z')
count1++;
if (a[i] == 'A'||a[i]=='E'||a[i]=='I'||a[i]=='O'||a[i]=='U')
count2++;
}
printf("%d",count1-count2);
return 0;
}
3、采用if划分为A-E/E-I/I-O/0-U/U-Z几段计数,相当于扒去间断点也不失为一种方法
代码3:
#include <stdio.h>
int main(){
char a[80];
int i,count=0;
for(i=0;(a[i]=getchar())!='\n';i++){
if(a[i]>'A'&&a[i]<'E')
count++;
else if(a[i]>'E'&&a[i]<'I')
count++;
else if(a[i]>'I'&&a[i]<'O')
count++;
else if(a[i]>'O'&&a[i]<'U')
count++;
else if(a[i]>'U'&&a[i]<='Z')
count++;
}
printf("%d",count);
}
代码4:
#include<stdio.h>
#include<string.h>
int main(){
int i,len,count=0;
char str[81];
gets(str);
len=strlen(str);
for(i=0;i<len;i++){
if(!(str[i] =='A'||str[i]=='E'||str[i]=='I'||str[i]=='O'||str[i]=='U')
&& str[i]>='A' && str[i]<='Z')
count++;
}
printf("%d",count);
return 0;
}
版权声明:本文为m0_73528660原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。