C语言:整数各位取奇数!将一个整数中的每位上为奇数的数依次取出,构成一个新数放在t中!高位依旧是高位,低位依旧是低位,然后输出t;下面是代码,函数fun里的代码我不怎么懂,#include #include

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/09 01:14:37
C语言:整数各位取奇数!将一个整数中的每位上为奇数的数依次取出,构成一个新数放在t中!高位依旧是高位,低位依旧是低位,然后输出t;下面是代码,函数fun里的代码我不怎么懂,#include #include
xSoAW ͂~xlKL v fCB+- `[Z)*4n?3 $x|//ZF}a{mZ̘<ݧgYpeihi[Gڅ$1؇:g;gX8!^ic -+^aT\ba/~}U1g+ᄊN1<ԆP8egyc |CՖcIYAc#x?Wwl? 5UF@)ִ`"Dt$/ضH!1E"aqFQ5*ɮ[-=$pӣ/'y(%g{5FTM0*VWDWV%N8'\ĔQJqYhQ$9]1ى{t-s ͽ%H%h@KRA_<W~H !oPoXz[4צ&os=f >T4>2:m?z&Z;2csXPysQ|x̓΋ t <3n!i Q% }NVXI`2 L o$ ;4C!J#Ȉ5xB7&0oZԢ!P2G0wM

C语言:整数各位取奇数!将一个整数中的每位上为奇数的数依次取出,构成一个新数放在t中!高位依旧是高位,低位依旧是低位,然后输出t;下面是代码,函数fun里的代码我不怎么懂,#include #include
C语言:整数各位取奇数!将一个整数中的每位上为奇数的数依次取出,构成一个新数放在t中!
高位依旧是高位,低位依旧是低位,然后输出t;
下面是代码,函数fun里的代码我不怎么懂,
#include
#include
#include
void fun(long s,long *t)
{int d;
long s1=1;
*t=0;
while(s>0)
{ d=s%10;
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);
}

C语言:整数各位取奇数!将一个整数中的每位上为奇数的数依次取出,构成一个新数放在t中!高位依旧是高位,低位依旧是低位,然后输出t;下面是代码,函数fun里的代码我不怎么懂,#include #include
void fun(long s,long *t)
{int d;
long s1=1; //表示处理到哪一位的权重,个位是1,十位是10,百位是100,...
*t=0; //结果清零
while(s>0)
{ d=s%10; // 去最低位
if(d%2!=0) // 如果是奇数
{*t=d*s1+*t; // d*s是当前位的加权数,加上已经处理的,就是新的结果
s1*=10; } // s1的权重乘10,得到下一个权重
s/=10; //剩余数据取模,进入下一个循环
}
}