编程计算字符串中的元音、辅音、数字、空白符。
【输入样例】
runoob123 erkcomsww dfrunoob
【输出样例】
vowel:8
consonant:15
number:3
space:2
输入输出均无换行
#include <stdio.h>
int main(void) {
char s[1000];
gets(s);
int a=0,b=0,c=0,d=0;
for(int i=0;s[i]!='\0';i++){
if(s[i]>='a'&&s[i]<='z'){
if(s[i]=='a'||s[i]=='e'||s[i]=='i'||s[i]=='o'||s[i]=='u')a++;
else b++;
}
else if(s[i]>='A'&&s[i]<='Z'){
if(s[i]=='A'||s[i]=='E'||s[i]=='I'||s[i]=='O'||s[i]=='U')a++;
else b++;
}
else if(s[i]>='0'&&s[i]<='9'){
c++;
}
else if(s[i]==' '){
d++;
}
}
printf("vowel:%d\n",a);
printf("consonant:%d\n",b);
printf("number:%d\n",c);
printf("space:%d",d);
return 0;
}
#include <stdio.h>
#include <ctype.h>
#define N 256
int isvowel(char ch)
{
switch (ch)
{
case 'a':
case 'A':
case 'e':
case 'E':
case 'i':
case 'I':
case 'o':
case 'O':
case 'u':
case 'U':
return 1;
default:
break;
}
return 0;
}
int isconsonant(char ch)
{
if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
return !isvowel(ch);
else
return 0;
}
int main()
{
char a[N];
int vowel_count = 0;
int consonant_count = 0;
int digit_count = 0;
int space_count = 0;
gets(a);
const char *p = a;
while (*p)
{
if (isvowel(*p))
vowel_count++;
else if (isconsonant(*p))
consonant_count++;
else if (isdigit(*p))
digit_count++;
else if (isspace(*p))
space_count++;
p++;
}
printf("vowel:%d\nconsonant:%d\nnumber:%d\nspace:%d\n", vowel_count, consonant_count, digit_count, space_count);
return 0;
}