请输入几行字符串,字符串以*#*结尾,判断输入字符串里面0~9的数字各有多少个?
#include<iostream>
using namespace std;
int main()
{
int a[10] = { 0,0,0,0,0,0,0,0,0,0 };//初始化0~9
char s[256];
int flag = 0;
while (!flag) {//flag为1时停止输入
//每行单独处理 统计总和,最后输出
for (int i=0;; i++){
cin >> s[i];//输入
if (s[i] - '0' >= 0 && s[i] - '0' <= 9)//判断是否为数字
a[s[i] - '0']++;//数据统计
if (i>1/*s[i-2]不溢出*/ && s[i] == '*' && s[i - 1] == '#' && s[i - 2] == '*') {
flag = 1;//flag置1,终止输入
break;//跳出for循环
}
}
}
for (int j = 0; j < 10; j++)//输出
cout << a[j]<<" ";
return 0;
}
输入
huidhuia
uhqih1234567890
juhwsu222*#*
输出
1 1 4 1 1 1 1 1 1 1