B105

01-程序填空题 田少松, 软件154 363浏览

所属年份:2011.3;2011.9;

给定程序中,函数fun的作用是:统计整型变量m中各数字出现的次数,并存放到数组a中,其中:a[0]存放0出现的次数,a[1]存放1出现的次数,…… a[9]存放9出现的次数。
例如,若m为14579233,则输出结果应为:0,1,1,2,1,1,0,1,0,1,
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!

#include  <stdio.h>
void fun( int  m, int  a[10])
{  int  i;
  for (i=0; i<10; i++)
/**********found**********/
    __1__ = 0;
  while (m > 0)
  {
/**********found**********/
     i = ___2___;
     a[i]++;
/**********found**********/
     m = ___3___;
  }
}

main()
{  int  m,  a[10],i;
   printf("请输入一个整数 :  ");   scanf("%d", &m);
   fun(m, a);
   for (i=0; i<10; i++)   printf("%d,",a[i]);  printf("\n");
}

【参考答案】

(1)a[i]   
(2)m%10     
(3)m/10

【解题思路】
数组a各元素初始化为0,用求余和整除相结合的方法得到数字的每一位数字,并用它做为数组a的下标,相应元素加1。
填空1:数组a的10个元素赋值为0。
填空2:m%10可得到数m的最后一位数字。
填空3:m/10可使数字截短,即去掉最后一位。