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

如题所述

#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]);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-11-13
#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]);

}本回答被网友采纳
第2个回答  2008-11-12
给你两个吧
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);
}
第3个回答  2019-04-22
#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]);
}
第4个回答  2008-11-12
#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]);
}

}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网