C 二级 将长整型数s中每一位上为偶数的数依次取出, 构成一个新数放在t中。 高位仍在高位,低位仍在低位。

给定程序MODI1.C中函数fun的功能是:
将长整型数s中每一位上为偶数的数依次取出,
构成一个新数放在t中。
高位仍在高位,低位仍在低位。
例如,当s中的数为: 87653142时,t中的数为: 8642。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,
不得增行或删行,
也不得更改程序的结构!
【解题思路】
(1)第一个标识是判断d是否是偶数,
即比较d%2是否等于0,
在C语言中,“==”表示的是“等于”,
而“=”是赋值,
因此第一个标识下“if (d%2=0)”应改为“if (d%2==0)”。

(2)第二个标识下的“s\=10;”是对a的截取,
这里的“\”本意应该是除号,
但这个在C语言中是不可识别的,
所以第二个标识下“s\=10;”应该改为“s/=10;”。
void fun (long s, long *t)
{  int d;
   long sl=1;
    *t = 0;
    while (s > 0)
    {d = s%10;
/************found************/
       if(d%2==0)
       { *t=d* sl+ *t;
          sl *= 10;
       }
/************found************/
       s/=10;
    }
}
main()
{  long s, t;
   printf("\nPlease enter s:"); scanf("%ld", &s);
   fun(s, &t);
   printf("The result is: %ld\n", t);
}
  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值