/*----------------------------------------------------------------------
程序设计
----------------------------------------------------------------------
在此程序中,函数fun的作用是:统计整型变量m中各数字出现的次数,并存放到数组a中,其中: a[0]存放0出现的次数,a [1]存放1出现的次数,.... a[9]存放9出现的次数。
例如,若m为14579233,则输出结果应为: 0 ,1 ,1 , 2 ,1, 1 ,0 ,1, 0, 1,
------------------------------------------------------------------------
注意:请勿改动程序中的其他内容。
----------------------------------------------------------------------*/
#include <stdio.h>
void fun( int m, int a[10])
{ int i;
for (i=0; i<10; i++)
/**********Program**********/
a[i]=0;
while(m)
{
i=m%10;
a[i]++;
m/=10;
}
/********** End **********/
}
void main()
{ int m, a[10],i;
printf("【请输入一个少于10位的正整数 :】 "); scanf("%d", &m);
fun(m, a);
printf("【结果为:】");
for (i=0; i<10; i++)
printf("%d,",a[i]); printf("\n");
}
在给定的程序中,函数fun
的作用是统计整型变量m
中各数字出现的次数,并将结果存储在数组a
中。具体实现如下:
- 首先,将数组
a
中所有元素初始化为0。 - 然后,使用一个
while
循环。 - 在循环中,通过对
m
取余数(即取m
的个位数字),并将该数字对应的计数器在数组a
中增加1。然后将m
除以10,即将m
向右移动一位,以便继续处理下一位数字。 - 循环结束后,数组
a
中的数字出现次数统计完成,结果存储在数组a
中。
在main
函数中,首先从用户输入获取一个正整数m
,然后调用函数fun
来统计各数字出现次数,并最终输出结果数组a
到控制台。
按照要求,输入一个少于10位的正整数后,程序会统计该数字中0到9各个数字出现的次数,并按照顺序依次输出到控制台上。