题目内容:
下列给定程序中函数proc()的功能是:将长整型数中为偶数的数依次逆向取出,构成一个新数放在t中。高位在低位,低位在高位。例如,当S中的数为l2345678时,则t 中的数为8642。请修改函数proc()中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
void proc(long S,long*t)
{
int d;
long s1=1,i=1:
*t=0:
while(s/i>0)
i=i*10:
i=i/10:
while(s>0)
{
d=s/i:
//****found****
if(d%2 1=0)
{
//****found****
t=d*s1+t:
s1*=10:
}
s=s%i;
i=i/10:
}
}
void main()
{
long s,t;
system("CLS");
printf("\nPlease enter s");
scanf("%1d",&s);
proc(s,&t):
printf("The result is:%1d\n",t);
}
参考答案:
答案解析: