c语言 求编一个程序输入两个正整数。求他们之间的所有整数中0,1,2,…,9数码的个数例如

c语言 求编一个程序输入两个正整数。求他们之间的所有整数中0,1,2,…,9数码的个数
例如,101~104之间总共包含四个整数101,102,103,104,其中0的个数为4,1的个数为5,2、3、4的个数都为1,其余数码没出现都为0。用C循环结构,尽量不调用函数

#include "stdio.h"
main(){
int m,n,k,i,l;
int f,a[10][2];
for(i=0;i<10;i++){a[i][0]=i;a[i][1]=0;}/*初始化数组*/
scanf("%d%d",&n,&m);
if(n>m){k=m;m=n;n=k;};/*保证n<m*/
while(n<=m){
l=n++;
while(l!=0){
switch(l%10){ /*一个数中统计数码的个数*/
case 0: a[0][1]++;break;
case 1: a[1][1]++;break;
case 2: a[2][1]++;break;
case 3: a[3][1]++;break;
case 4: a[4][1]++;break;
case 5: a[5][1]++;break;
case 6: a[6][1]++;break;
case 7: a[7][1]++;break;
case 8: a[8][1]++;break;
case 9: a[9][1]++;
}
l/=10;
}
}
for(i=0;i<10;i++)
printf("%d\t%d\n",a[i][0],a[i][1]);
getch();/*让程序暂停一下,方便有些不能看到结果软件编译,其他环境可以不加*/
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-26
#include<stdio.h>
#include<string.h>
main()
{
int i,x,y,n,a[10]={0};
scanf("%d %d",&x,&y);
for(i=x;i<=y;i++)
{n=i;
while(n!=0)
{a[n%10]=a[n%10]+1;
n=n/10;}}
for(i=0;i<10;i++)printf("%c %d\n",i+'0',a[i]);
printf("No");
system("PAUSE");
}本回答被提问者和网友采纳
相似回答