实验8-2-6 分类统计各类字符个数(15 分)
本题要求实现一个函数,统计给定字符串中的大写字母、小写字母、空格、数字以及其它字符各有多少。
函数接口定义:
1
| void StringCount( char *s );
|
其中 char *s
是用户传入的字符串。函数StringCount
须在一行内按照
1
| 大写字母个数 小写字母个数 空格个数 数字个数 其它字符个数
|
的格式输出。
裁判测试程序样例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| #include <stdio.h> #define MAXS 15
void StringCount( char *s ); void ReadString( char *s );
int main() { char s[MAXS];
ReadString(s); StringCount(s);
return 0; }
|
输入样例:
输出样例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| #include <stdio.h> #define MAXS 15
void StringCount( char *s ); void ReadString( char *s );
int main() { char s[MAXS];
ReadString(s); StringCount(s);
return 0; } void ReadString(char s[]){ gets(s); } void StringCount(char s[]) { int i, uppercase, lowercase, blank, digit, other; uppercase = lowercase = blank = digit = other =0; i = 0; while(s[i] != '\0') { if (s[i] >= 'A'&& s[i] <= 'Z') uppercase++; else if (s[i] >= 'a' && s[i] <= 'z') lowercase++; else if (s[i] == ' ') blank++; else if (s[i] >= '0' && s[i] <= '9') digit++; else other++; i++; } printf("%d %d %d %d %d\n", uppercase, lowercase, blank, digit, other); }
|