问答题
下列给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去掉,剩余的数按原来从高位到低位的顺序组成一个新数,并通过形参指针n传回所指变量。
例如,若输入一个数27638496,则新数为739。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#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 1=
【2】
)
{x=x+t*i;i=i*10;)
*n=* n/10;
}
/*********found*********/
*n=
【3】
;
}
mein()
{ unsigned long n=一1;
while(n >9 9 9 9999 9||n < 0)
f printf("Please input(0 <
n < 1 000 00 00 0):");
Scanf("%id",&n);}
fun(&n);
printf("/nThe result is:%Id/n",n);
}
【正确答案】正确答案:(1)10 (2)0 (3)x
【答案解析】解析:本题考查:求余运算;if语句条件表达式。 填空1:通过t对10求余,取出该数值的各个位。 填空2:通过if条件语句实现奇偶数的判定。如果条件表达式对2求余为0即为偶数,反之则为奇数。 填空3:最后将剩余的数赋给n所指向的元素。