填空题 给定程序中,函数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
答案考生文件夹 [解析] 填空1:通过t对10求余,取出该数值的各个位。
填空2:通过if条件语句实现奇偶数的判定。如果条件表达式对2求余为0即是偶数,反之是奇数。
填空3:最后将剩余的数赋给n指问的元素。