问答题 下列给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新数,作为函数值返回。 例如,从主函数输入一个整数27638496,则函数返回值为26846。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> unsigned long fun(unsigned long n) { unsigned long x=0,s,i;int t; s=n; /*********found*********/ i= 【1】 ; /*********found*********/ while( 【2】 ){t=s%10; if(t%2==0){ /*********found*********/ x=x+t*i;i= 【3】 ; } s=s/10; } return x; } main() { unsigned long n=-1; while(n>99999999‖n<0) { printf("Please input(0<n<100000000):"); scanf("%ld",&n);} printf("\nThe result is:%ld\n",fun(n)); }
【正确答案】正确答案:(1)1 (2)s>0 (3)i*10
【答案解析】解析:填空1:变量i用来控制被取出的偶数在新数中的位置,应赋初值1。 填空2:while语句的循环条件是s>0。 填空3:变量i用来标识个位、百位和千位等。