B047

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

所属年份:2012.3

下列给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去掉,剩余的数按原来从高位到低位的顺序组成一个新数,并通过形参指针n传回所指变量。
例如,若输入一个数27638496,则新数为739。
请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!

#include  <stdio.h>
void fun(unsigned long  *n)
{ unsigned long  x=0, i;    int  t;
  i=1;
  while(*n)
/**********found**********/
  { t=*n % __1__;
/**********found**********/
    if(t%2!= __2__)
    { x=x+t*i;  i=i*10;  }
    *n =*n /10;
  }
/**********found**********/
  *n=__3__;
}

main()
{ unsigned long  n=-1;
  while(n>99999999||n<0)
  { printf("Please input(0<n<100000000): "); scanf("%ld",&n); }
  fun(&n);
  printf("\nThe result is: %ld\n",n);
}

【参考答案】

(1) 10  
(2) 0  
(3) x

【考点分析】
本题考查:求余运算;if语句条件表达式。

【解题思路】
填空1:通过t对10求余,取出该数值的各个位。
填空2:通过if条件语句实现奇偶数的判定。如果条件表达式对2求余为0即是偶数,反之是奇数。
填空3:最后将剩余的数赋给n指问的元素。