C语言:整数各位取奇数!将一个整数中的每位上为奇数的数依次取出,构成一个新数放在t中!高位依旧是高位,低位依旧是低位,然后输出t;下面是代码,函数fun里的代码我不怎么懂,#include #include
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/09 01:14:37
![C语言:整数各位取奇数!将一个整数中的每位上为奇数的数依次取出,构成一个新数放在t中!高位依旧是高位,低位依旧是低位,然后输出t;下面是代码,函数fun里的代码我不怎么懂,#include #include](/uploads/image/z/8553969-9-9.jpg?t=C%E8%AF%AD%E8%A8%80%EF%BC%9A%E6%95%B4%E6%95%B0%E5%90%84%E4%BD%8D%E5%8F%96%E5%A5%87%E6%95%B0%21%E5%B0%86%E4%B8%80%E4%B8%AA%E6%95%B4%E6%95%B0%E4%B8%AD%E7%9A%84%E6%AF%8F%E4%BD%8D%E4%B8%8A%E4%B8%BA%E5%A5%87%E6%95%B0%E7%9A%84%E6%95%B0%E4%BE%9D%E6%AC%A1%E5%8F%96%E5%87%BA%2C%E6%9E%84%E6%88%90%E4%B8%80%E4%B8%AA%E6%96%B0%E6%95%B0%E6%94%BE%E5%9C%A8t%E4%B8%AD%21%E9%AB%98%E4%BD%8D%E4%BE%9D%E6%97%A7%E6%98%AF%E9%AB%98%E4%BD%8D%2C%E4%BD%8E%E4%BD%8D%E4%BE%9D%E6%97%A7%E6%98%AF%E4%BD%8E%E4%BD%8D%2C%E7%84%B6%E5%90%8E%E8%BE%93%E5%87%BAt%EF%BC%9B%E4%B8%8B%E9%9D%A2%E6%98%AF%E4%BB%A3%E7%A0%81%2C%E5%87%BD%E6%95%B0fun%E9%87%8C%E7%9A%84%E4%BB%A3%E7%A0%81%E6%88%91%E4%B8%8D%E6%80%8E%E4%B9%88%E6%87%82%2C%23include+%23include)
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; //剩余数据取模,进入下一个循环
}
}