#include<bits/stdc++.h>
using namespace std;
int main() {
string arr; //定义变量 arr
getline(cin, arr); //通过函数输入并存储到变量中
int a = 0; // 定义变量a,并赋初值0
for(int i = 0; i < arr.length(); i++){
if(arr[i] <= 57 && arr[i] >= 48 ){
a++; //是数字加一
}
}
cout << a<<endl;
return 0;
}
本题解析: 我们知道数字字符(ASCII码范围为48~57),利用这一特性,来判断字符数组中是否含有数字。通过getline函数读取字符串并赋值给arr变量。然后循环该字符串即可。
本题用到的知识点有:
字符串的输入,字符串的函数,字符串的遍历,以及数字字符的asccii的范围是48到57.这几个知识点。
如果大家在学习的过程中,有什么不明白的,欢迎随时咨询。信奥是慢慢长路,各位加油!