任务描述
本关任务: 从键盘输入一个字符串,分别统计其中有多少个数字字符、英文字符、空格符。
相关知识
为了完成本关任务,你需要掌握: 1.键盘获取字符串的方法; 2.一维字符数组存储一个字符串; 3.ASCII表,其中数字字符、英文字符、空格符对应的ASCII值范围。
键盘获取字符串的方法
1.定义一维数组str[100]; 2.gets(str);
数字字符、英文字符、空格符对应的ASCII值范围
ASCII 码使用指定的 7 位或 8 位二进制数组合来表示 128 或 256 种可能的字符。编码如下:
编程要求
1.从键盘输入任意字符串; 2.根据提示,在编辑器补充代码,完成统计功能。
测试说明
输入: 请输入字符串:I love 12345! 输出: 数字有5个 英文字符有5个 空格有2个
#include<stdio.h>
static int i=0,characters=0,digital=0,space=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'))//字母
{
characters++;
}
else
if(p[i]>='0'&&p[i]<='9')//数字
{
digital++;
}
else
if(p[i]==32||p[i]==9)//空格
{
space++;
}
i++;
}
}
int main()
{
char str[100];
printf("请输入字符串:\n");
gets(str);
Count5(str);
printf("该字符串中有:\n");
printf("字母:%d个,数字%d个,空格%d个",characters,digital,space);
return 0;
}