填空题 下列给定程序中,函数fun()的功能是:将形参n所指变量中,各位上为偶数的数去掉,剩余的数按原来从高位到低位的顺序组成一个新数,并通过形参指针n传回所指变量。
例如,若输入一个数27638496,则新数为739。
请在标号处填入正确的内容,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构。
试题程序

#include <stdio.h>
void fun(unsigned long * n)
{ unsigned long x=0, i; int t;
i=1;
while(*n)
{ t=*n% ______;
if(t% 2!=______)
{ x=x+t*i; i=i*10;
}
*n=*n/10;
}
*n=______;
}
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、
【正确答案】 1、10 0 x    
【答案解析】[解析] 本题考查:求余运算;if语句条件表达式,指针变量作为函数参数。 空(1):通过t对10求余,取出该数值的各个位。 空(2):通过if条件语句实现奇偶数的判定。如果条件表达式对2求余为0即是偶数,反之是奇数。 空(3):最后将剩余的数赋给n指向的元素。