填空题
给定程序中,函数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%{{U}} {{U}} {{/U}} {{/U}};
/**********found**********/
if(t%2!={{U}} {{U}} {{/U}} {{/U}}
{ x=x+t*i;i=i*10;}
*n=*n/10;
}
/**********found**********/
*n={{U}} {{U}} {{/U}} {{/U}};
}
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)通过t对10求余,取出该数值的各个位。
(2)通过if条件语句实现奇偶数的判定。如果条件表达式对2求余为0即是偶数,反之是奇数。
(3)最后将剩余的数赋给n指问的元素。