给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。 例如,输入一个数:27638496,新的数:为739。 请在程序的下划线处填入正确的内

admin2013-03-29  25

问题 给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
    例如,输入一个数:27638496,新的数:为739。
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
    注意:源程序存放在考生文件夹下的BLANK.C中。
    不得增行或删行,也不得更改程序的结构!
#include  
void fun(unsigned long*n)
{unsigned Long x=0,i;int t;
  i=l;
  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()
{unsiqned long n=一1;
  while(n>99999999|| n<0)
  {printf("Please input:(0100000000):"); scanf("%1d",&n);)
  fun(&n);
  printf("\nThe result is:%ld\n",n);
}

选项

答案(1)10 (2)0 (3)x

解析 第一空:“t=*n%【1】 ;"是求n的个位数,因此第一空处应填"10"。
    第二空:由审题分析可知,fun函数是将参数’n所指变量中的奇数取出并重新排序,故第二处是判断t是否是奇数,t%2!=0说明t是奇数,因此第二空处应填“0"。
    第三空:“x=x+t*i;j=i*10;"可知x记录了重新排序后的数,故返回值是x,因此第三处是将x赋值给n所指的变量,因此第三空应为“x"。
转载请注明原文地址:https://kaotiyun.com/show/yWJp777K
0

最新回复(0)