本题要求实现一个函数,统计给定字符串中的大写字母、小写字母、空格、数字以及其它字符各有多少。
函数接口定义:
void StringCount( char *s );
其中 char *s
是用户传入的字符串。函数StringCount
须在一行内按照
大写字母个数 小写字母个数 空格个数 数字个数 其它字符个数
的格式输出。
裁判测试程序样例:
#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;
}
/* Your function will be put here */
输入样例:
aZ&*?
093 Az
输出样例:
2 2 1 3 4
结尾无空行
上代码:
void StringCount( char *s ){
int capital = 0,lowercase = 0,space = 0,digital = 0,other = 0;
int n = 0;
while ( s[n] != '\0'){
if (s[n] >= 'A'&&s[n] <= 'Z'){
capital++;
}else if(s[n] >= 'a'&&s[n] <='z'){
lowercase++;
}else if(s[n] == ' '){
space++;
}else if(s[n] >= '0'&&s[n] <= '9'){
digital++;
}else{
other++;
}
n++;
}
printf ("%d %d %d %d %d\n",capital,lowercase,space,digital,other);
}
利用字符串最后一位为0来进行循环即可,总体难度简单的