统计数字字符个数
总时间限制: 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;
}