小白打怪升级之路...字符串(1)

119 阅读1分钟

统计数字字符个数

总时间限制: 1000ms 内存限制: 65536kb

描述

输入一行字符,统计出其中数字字符的个数。

输入

一行字符串,总长度不超过255。

输出

输出为1行,输出字符串里面数字字符的个数。

样例输入

Peking University is set up at 1898.

样例输出

4

思路

1.

字符是以ASCII码区分的,因此想到的是比较输入字符的ASCII码,在“0”到“9”之间的字符便是数字字符。

char a[1000]
cin>>a;
int sum=0;
...
if(a[i]<='9'&&a[i]>='0')	
	sum++;

2.

使用strlen()确定输入字符串长度,用for循环统计数字字符出现次数。

int len=strlen(a)
for(int i=0;i<len;i++)
...

3.

char a[1000]
cin>>a;

但是在这个输入方式上出了问题,按照样例输入,很容易发现cin不接受“ ”(空格)输入并结束输入,导致空格后的数字并没有成功输入。 经过查询,使用cin.getline可以接受空格输入,遇到回车结束输入。 cin.getline()头文件为<string或<cstring。视编译器而定。

char a[1000];
cin.getline(a,1000);

提交代码(C++)

#include<iostream>
#include<cstring>
using namespace std;
int main()
{
	char a[1000];
	cin.getline(a,1000);
	int sum=0, len=strlen(a);
	for(int i=0;i<len;i++)
		if(a[i]<='9'&&a[i]>='0')	
			sum++;
	cout<<sum;
    return 0;
}