2、给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中.高位仍在高位,低位仍在低位.例如,当s中的数为:7654321时,t中的数为:7531.#include /
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/14 13:12:47
![2、给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中.高位仍在高位,低位仍在低位.例如,当s中的数为:7654321时,t中的数为:7531.#include /](/uploads/image/z/14406348-12-8.jpg?t=2%E3%80%81%E7%BB%99%E5%AE%9A%E7%A8%8B%E5%BA%8FMODI1.C%E4%B8%AD%E5%87%BD%E6%95%B0fun%E7%9A%84%E5%8A%9F%E8%83%BD%E6%98%AF%EF%BC%9A%E4%BB%8E%E4%BD%8E%E4%BD%8D%E5%BC%80%E5%A7%8B%E5%8F%96%E5%87%BA%E9%95%BF%E6%95%B4%E5%9E%8B%E5%8F%98%E9%87%8Fs%E4%B8%AD%E5%A5%87%E6%95%B0%E4%BD%8D%E4%B8%8A%E7%9A%84%E6%95%B0%2C%E4%BE%9D%E6%AC%A1%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.%E9%AB%98%E4%BD%8D%E4%BB%8D%E5%9C%A8%E9%AB%98%E4%BD%8D%2C%E4%BD%8E%E4%BD%8D%E4%BB%8D%E5%9C%A8%E4%BD%8E%E4%BD%8D.%E4%BE%8B%E5%A6%82%2C%E5%BD%93s%E4%B8%AD%E7%9A%84%E6%95%B0%E4%B8%BA%EF%BC%9A7654321%E6%97%B6%2Ct%E4%B8%AD%E7%9A%84%E6%95%B0%E4%B8%BA%EF%BC%9A7531.%23include+%2F)
2、给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中.高位仍在高位,低位仍在低位.例如,当s中的数为:7654321时,t中的数为:7531.#include /
2、给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中.高位仍在高位,低位仍在低位.
例如,当s中的数为:7654321时,t中的数为:7531.
#include
//
sl = sl*100; /* sl=sl*10;
} }
main()
{long s,t;
printf("\nPlease enter s:"); scanf("%ld",&s);
fun(s,&t);
printf("The result is:%ld\n",t); }
2、给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中.高位仍在高位,低位仍在低位.例如,当s中的数为:7654321时,t中的数为:7531.#include /
解释如楼上所说.
不过你的代码错了,按照你的代码运行的结果只可能是7050301,也就是说你没有从本质上把十位,千位和十万位上的数字取消,只是把他们换成了0.下面这个是我写的,你看下,最好运行一下.#include
#include
long main(void)
{
long s,total;
int i,val;
i=0;
total=0;
printf("Enter the number:");
scanf("%ld",&s);
while(s>0)
{
val=s%10; //求每个位数上的数值,
if(val%2!=0) /*判断,如果是奇数,依次将它们和10的递增幂数相乘,*
*比如,分离出的数值为1,则total=1*pow(10,0),第二 *
*次分离的是3,则total=3*pow(10,1),如此下去,直到 *
*while结束,并且每次将total 相加 */
{
total+=val*pow(10,i);
i++;
}
s=s/10;
}
printf("%ld\n",total);
return 0;
}