本帖最后由 jackz007 于 2021-11-15 18:10 编辑 #include <stdio.h>
#define N 1024
void isgeshu(char str[])
{
int num = 0 , kongge = 0 , i = 0 , alpha = 0 , others = 0 , d = 0 , w = 0 ;
for(i = 0 ; str[i] ; i ++)
{
if(str[i] >= '0' && str[i] <= '9') num ++ ;
else if((str[i] >= 'A' && str[i] <= 'Z') || (str[i] >= 'a' && str[i] <= 'z')) alpha ++ ;
else if(str[i] == ' ') kongge ++ ;
else if(str[i] == ',') d ++ ;
else if(str[i] == '?') w ++ ;
else others ++ ;
}
printf(" 数字的个数是 : %d\n" , num) ;
printf(" 字母的个数是 : %d\n" , alpha) ;
printf(" 空格的个数是 : %d\n" , kongge) ;
printf(" 逗号的个数是 : %d\n" , d) ;
printf(" 问号的个数是 : %d\n" , w) ;
printf("其他字符个数是 : %d\n" , others) ;
}
int main(void)
{
int i = 0 ;
char str[N] ;
printf("请输入一个字符串 : ") ;
while((str[i++] = getchar()) != '\n') ;
str[i - 1] = '\0' ;
isgeshu(str) ;
return 0 ;
}
编译、运行实况:D:\0002.Exercise\C>g++ -o x x.c
D:\0002.Exercise\C>x
请输入一个字符串 : I am a chinese, and i am 21 years old !
数字的个数是 : 2
字母的个数是 : 25
空格的个数是 : 10
逗号的个数是 : 1
问号的个数是 : 0
其他字符个数是 : 1
D:\0002.Exercise\C>
|