函数fun的功能是:统计长整数n的各个位上出现数字1、2、3的次数,并通过外部(全局)变量c1,c2,c3返回主函数。例如:当n=123114350时,结果应该为:C1=3 c2=1c3=2。 请在程序的下划线处填入正确的内容并把下划线删除,使程序

admin2020-11-27  26

问题 函数fun的功能是:统计长整数n的各个位上出现数字1、2、3的次数,并通过外部(全局)变量c1,c2,c3返回主函数。例如:当n=123114350时,结果应该为:C1=3 c2=1c3=2。
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
    注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构!
#include
int c1,c2,c3 ;
void fun(long n)
{  c1=c2=c3=0 ;
  while(n)  {
/**********found***********/
    switch( ___1____ )
    {
/**********found***********/
    case  1:    c1++;___2___ ;
/**********found***********/
    case 2:    c2++;___3___ ;
    case 3:    c3++;
    }
    n/=10;
    }
}
main()
{long n=123114350L;
  fun(n);
  printf(“\nThe  result  :\n”);
  printf(“n=%ld c1=%d c2=%d c3=%d\n”,
n,c1,c2,c3);
}

选项

答案(1)n%10 (2)break (3)break

解析 函数fun的功能是统计长整数n的各个位上出现数字1、2、3的次数,分别判断n的各位数是否是1、2、3,如果是再在各自的计数变量上加1。
   [解题思路]
    第一空:switch内部是统计数字1、2、3的个数,因此switch条件是n的一位数。由“n/=10:”在循环中,n每次减小为以前的1/10,即n逐步往打边移出一个整数位,移出的整数位可由n%10可求得,故第一空处应填“n%10”。
    第二空:C语言中,case语句后都要加“break”语句,否则会执行多个case语句,因此第二空处应为“break”。
    第三空:理由同上,第三空处应填“break”。
转载请注明原文地址:https://kaotiyun.com/show/oY3p777K
0

随机试题
最新回复(0)