用C语言编写一个程序,输入一个整数,输出0~9各数字在该整数中出现的次数

 我来答
挺进616
推荐于2017-11-23 · TA获得超过288个赞
知道小有建树答主
回答量:281
采纳率:0%
帮助的人:245万
展开全部
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int a[10];//每个数字的计数器
int num;
int i;
char ch[100],*ch1,num1;
for(i = 0;i < 10;i++)
a[i] = 0;
printf("请输入一个整数:");
scanf("%d",&num);
itoa(num,ch,10); //将数字转化为字符串
for(ch1 = ch;ch1<ch+strlen(ch);ch1++)
{
num1 = *ch1;
switch(num1)
{
case '0': a[0]++; break;
case '1': a[1]++; break;
case '2': a[2]++; break;
case '3': a[3]++; break;
case '4': a[4]++; break;
case '5': a[5]++; break;
case '6': a[6]++; break;
case '7': a[7]++; break;
case '8': a[8]++; break;
case '9': a[9]++; break;
default:break;
}
}
printf("各数字出现的次数如下:\n");
printf("数字:0 1 2 3 4 5 6 7 8 9\n");
printf("次数:");
for(i = 0;i < 10;i++)
printf("%-3d",a[i]);
printf("\n");
return 0;
}
yuyshizhe
2010-10-10
知道答主
回答量:10
采纳率:0%
帮助的人:10.2万
展开全部
用递归写了个小程序,测试是可行的。算是提供个参考吧
#include<stdio.h>

int a[10];

void tongji(int iNum)
{
int iTemp;
int iTempD;
if(iNum<10)
a[iNum]++;
else if(iNum<100)
{
iTemp=iNum%10;
iTempD=iNum/10;
a[iTemp]++;
a[iTempD]++;
}
else
{
a[iNum%10]++;
iNum=iNum/10;
tongji(iNum);
}
}

void main()
{
int iNum;
printf("input a number!\n");
scanf("%d",&iNum);
tongji(iNum);
for(int i=0; i<10;i++)
{
printf("%d",i);
printf("的次数是%d\n",a[i]);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
苍沧蒹葭
2012-11-03
知道答主
回答量:11
采纳率:0%
帮助的人:4.4万
展开全部
#include <stdio.h>
void main()
{
int a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;
printf("shuru\n");
while((c=getchar())!='\n')
{
switch (c)
{case '1' : a=a++;break;
case '2':b=b++;break;
case '3':c=c++;break;
case '4':d=d++;break;
case '5':e=e++;break;
case'6':f=f++;break;
case 7:g=g++;break;
case '8':h=h++;break;
case '9':i=i++;break;
case '0':j=j++;break;
}
}
printf("%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t\n",a,b,c,d,e,f,g,h,i,j);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式