题目要求:
编写一函数,由实参传来一个字符串,
统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述统计结果。
思路:
定义变量如下:
i循环变量,j字母个数,k数字个数,l空格个数,m其他字符
通过判断ASCII码值来统计并计数。
源码如下:
/*
5、编写一函数,由实参传来一个字符串,
统计此字符串中字母、数字、空格和其它字符的个数,
在主函数中输入字符串以及输出上述统计结果。
*/
#include<stdio.h>
static int i=0,j=0,k=0,m=0,l=0;//i循环变量,j字母个数,k数字个数,l空格个数,m其他字符
void Count5(char *p)
{
//p[i]就是主函数的s[i]
//p[0]==*p==a[0] p[2]==*(p+2)==*(s+2)==s[2]
while(p[i])
{
if((p[i]>='a'&&p[i]<='z')||(p[i]>='A'&&p[i]<='Z'))//字母
{
j++;
}
else
if(p[i]>='0'&&p[i]<='9')//数字
{
k++;
}
else
if(p[i]==32||p[i]==9)//空格
{
l++;
}
else //其他字符
{
m++;
}
i++;
}
}
int main()
{
char s[100];
printf("请键盘输入一个字符串:\n");
gets(s);
Count5(s);
printf("该字符串中有:\n");
printf("字母:%d个,数字%d个,空格%d个,其他字符%d个\n",j,k,l,m);
return 0;
}
程序截图: