问答题 下列给定程序中,函数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所指向的元素。