c++问题急急急!!!

题目描述输入一个长度不超过10000的数字串(含空格),统计其中每个数字字符出现的次数。输入一行数字串,含有空格。输出若干行,每行显示格式:“数字:个数”,如下:0:xx... 题目描述

输入一个长度不超过10000的数字串(含空格),统计其中每个数字字符出现的次数。
输入

一行数字串,含有空格。
输出

若干行,每行显示格式:“数字:个数”,如下:

0:xx

1:xx

2:xx

3:xx



9:xx

xx表示对应的数字字符出现的次数,按从0到9的顺序显示。如果该数字字符未出现,则显示0。
样例输入

1234 5434 000
样例输出

0:3
1:1
2:1
3:2
4:3
5:1
6:0
7:0
8:0
9:0
提示

读入含空格的字符串,需要用gets()。
展开
 我来答
听不清啊
高粉答主

2019-07-02 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

#include <stdio.h>

int main()

{ char s[10100];

int i,a[10]={0};

gets(s);

for(i=0;s[i];i++)

if(s[i]>='0'&&s[i]<='9')a[s[i]-'0']++;

for(i=0;i<10;i++)

printf("%d:%d\n",i,a[i]);

return 0;

}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
金色潜鸟
2019-07-02 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5525万
展开全部
输入一行数字串,含空格。
假定,遇到空格 就输出一行, 并 统计和输出该行 数字个数。
c++ 程序如下:
#include<iostream>
using namespace std;
#include <stdio.h>
int v[10];
void set_0(){int i; for (i=0;i<10;i++) v[i]=0;};
void out_v(){int i;
for (i=0;i<10;i++) printf(" %d:%d",i,v[i]);
printf("\n"); set_0();}
main ( )
{
int i,j;
char c;
while(1){
c=getchar();
if (c!='\n') putchar(c);
if (c=='\n') {out_v();break;}
else if (c==' ') out_v();
else { if (c>='0' && c<='9') v[c-'0']++; };
}

return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式