各位大侠~帮帮我吧!我有个c语言的编程题目要请教!高手能给我详细的步骤么?会加分~急!!!

写一个函数完成如下功能:从低位开始取出长整数中偶数位上的数,依次构成一个新的数。例如,当长整数为7654321时,构成的新的数为642。
函数原型为:void fun(long s,long *t)
求高手给个详细步骤!因为在下不是很会...在下谢啦!!!!真的很急~~~ 如果答得好会加分!谢谢各位! 不好意思,题目就是这样...不如,您把那种也告诉我吧,我是门外汉...

#include <stdio.h>

void fun(long s,long *t)
{
long base=1;
while(s>0)
{
if(s%2==0)
{
(*t)+=(s%10)*base;
s=s/10;
base=base*10;
}
else
{
s=s/10;
}
}
}

main()
{
long num=0;
fun(876543221,&num);
printf("%ld",num);
getchar();
}

补充一下啊

你是不是要提取这个长整形数中的所有偶数,就是我写的这种

还是你要从右数提取第2位 第4位 第6位、、、、

第二种更简单些
void fun2(long s,long *t)
{
long base=1;
while(s>0)
{
s=s/10;
(*t)+=(s%10)*base;
s=s/10;
base*=10;
}
}

我又看了看你的题目应该就是第二种了 没错
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-12-06
先用7654321对10取整765432
然后对765432求余并输出2
循环一下
第2个回答  2009-12-06
这个问题有点高深,不太懂
相似回答
大家正在搜