统计字符串中数字字符、英文字符、空格符的个数

任务描述

本关任务: 从键盘输入一个字符串,分别统计其中有多少个数字字符、英文字符、空格符。

相关知识

为了完成本关任务,你需要掌握: 1.键盘获取字符串的方法; 2.一维字符数组存储一个字符串; 3.ASCII表,其中数字字符、英文字符、空格符对应的ASCII值范围。

键盘获取字符串的方法

1.定义一维数组str[100]; 2.gets(str);

数字字符、英文字符、空格符对应的ASCII值范围

ASCII 码使用指定的 7 位或 8 位二进制数组合来表示 128 或 256 种可能的字符。编码如下:

ASCII表

编程要求

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;
}

Guess you like

Origin blog.csdn.net/qq_46069852/article/details/121353054