c语言中把各位上为奇数的数取出,将长整型数中每一位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。...

此篇博客讲述了如何修复一个错误的函数fun,该函数原本用于从输入的长整型数中提取每一位为奇数的数字,并将其组成一个新的数。错误包括初始化变量*t和条件判断的修改。修正后的函数应能正确处理如87653142这样的输入,输出结果为7531。

下列给定程序中函数fun的功能是:将长整型数中每一位上为奇数的数依次取出,构成一个新数放在t 中。高位仍在高位,低位仍在低位。例如当s中的数为87653142时,t中的数为7531。

请改正函数fun中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

#include

#include

#include

void fun(long s,long *t)

{int d;

long s1=1;

/*************found**************/

t=0;

while(s>0)

{ d=s%10;

/*************found**************/

if(d%2==0)

{*t=d*s1+*t;

s1*=10;

}

s/=10;

}

}

void main()

{long s, t;

system("CLS");

printf("\nPlease enter s: "); scanf

("%ld",&s);

fun(s,&t);

printf("The result is :%ld\n",t);

}

(1)错误:t=0; 正确:*t=0;

(2)错误:if(d%2==0) 正确:if(d%2!=0)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值