C语言:编写程序,输入若干个数字,并统计每个数字出现的个数。 5

 我来答
lzm_vs_t_mac
2008-11-13
知道答主
回答量:70
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
void main()
{
char str[100],*p;
int num[11],i;
p=str;
gets(str);
for(i=0;i<11;i++)
num[i]=0;
for(;*p!='\0';p++)
{
if((*p<='9'&&*p>='0')) num[0]++;
if(*p=='1') num[1]++;
if((*p=='2')) num[2]++;
if((*p=='3')) num[3]++;
if((*p=='4')) num[4]++;
if((*p=='5')) num[5]++;
if((*p=='6')) num[6]++;
if((*p=='7')) num[7]++;
if((*p=='8')) num[8]++;
if((*p=='9')) num[9]++;
if((*p=='0')) num[10]++;

}
printf("数字的总个事故:%d\n",num[0]);
printf("1的个数%d\n",num[1]);
printf("2的个数%d\n",num[2]);
printf("3的个数%d\n",num[3]);
printf("4的个数ª%d\n",num[4]);
printf("5的个数%d\n",num[5]);
printf("6的个数%d\n",num[6]);
printf("7的个数%d\n",num[7]);
printf("8的个数%d\n",num[8]);
printf("9的个数%d\n",num[9]);
printf("0的个数%d\n",num[10]);
}
闻鸡休息
2008-11-13 · TA获得超过351个赞
知道小有建树答主
回答量:243
采纳率:0%
帮助的人:262万
展开全部
#include <stdio.h>

void main()
{
char c;
int count[10]; /* 存放0~9 */
while((c=getchar())!='\n') /* 假设以换行结束输入 */
{
if(c>='0'&&c<='9')
count[c-'0']++;
}

/* 输出 */
for(int i=0;i<10;i++)
printf("%d:%d\n",i,count[i]);

}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一苦嵩来
2008-11-12 · TA获得超过507个赞
知道答主
回答量:156
采纳率:0%
帮助的人:117万
展开全部
给你两个吧
1.
#include<stdio.h>
int main(void)
{
int i,ch;
int cnt[10]={0};
while(i){
ch = getchar();
if(ch==EOF) break;
if(ch>='0' && ch<='9')
cnt[ch-'0']++;
}
puts("数字出现回数");
for(i=0;i<10;i++)
printf("'%d';%d\n",i,cnt[i]);
return(0);

}

2.win-tc好像编译不能通过 VC可以
#include<stdio.h>

void str_dcount(const char str[],int cnt[])
{
unsigned i=0;
while (str[i]){
if(str[i]=> '0' && str[i]<='9')
cnt[str[i]-'0']++;
i++;
}
}
int main(void)
{
int i;
int dcnt[10]={0};
char str[100];
printf("输入数字:");
scanf("%s",str);
str_dcount(str,dcnt);
puts("数字出现次数");
for(i=0;i<10;i++)
printf("'%d':%d\n",i,dcnt[i]);
return(0);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
傅螺六秀英
2019-04-22 · TA获得超过4321个赞
知道大有可为答主
回答量:3030
采纳率:24%
帮助的人:183万
展开全部
#include
<stdio.h>
void
main()
{
char
c;
int
count[10];
/*
存放0~9
*/
while((c=getchar())!='\n')
/*
假设以换行结束输入
*/
{
if(c>='0'&&c<='9')
count[c-'0']++;
}
/*
输出
*/
for(int
i=0;i<10;i++)
printf("%d:%d\n",i,count[i]);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cyco000
2008-11-12 · TA获得超过554个赞
知道答主
回答量:223
采纳率:0%
帮助的人:132万
展开全部
#include <stdio.h>

int main()
{
int c;
static int count[10];
while((c=getchar())!=EOF)
{
count[c-'0']++;
}
for(int i=0;i<10;i++)
{
printf("%d:%d\n",i,count[i]);
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式