本题要求实现一个函数,统计给定字符串中英文字母、空格或回车、数字字符和其他字符的个数。
#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 &
09 Az
输出样例
letter = 4, blank = 3, digit = 2, other = 1
void StringCount( char s[] )
{
int letter=0,blank=0,digit=0,other=0;
int i;
for (i=0;s[i]!='\0';i++){
if (s[i]>='0'&&s[i]<='9')
digit++;
else if (s[i]==' '||s[i]=='\n')
blank++;
else if ((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z'))
letter++;
else
other++;
}
printf("letter = %d, blank = %d, digit = %d, other = %d",letter,blank,digit,other);
}
1.’\0’
字符常量占一个字节bai的内存空间。字du符串常量占的内存字节数等于zhi字符串中字节数加1。增加的一个字节中存放字符"\0" (ASCII码为0)。这是字符串结束的标志。