以下程序的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。请填空。 #include<stdio.h> main() {long s,t,s1=10; pfintf("\n.Pleas

admin2011-06-10  24

问题 以下程序的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。请填空。   #include<stdio.h>   main()   {long s,t,s1=10;   pfintf("\n.Please enter s:");   scanf("%1d",&s);   t=s%10;   while(s>0)   {s=s/100;   t=(       );   s1=s1*10;   }   printf("The result is:%1d\n",t);   }

选项

答案s%10*s1+t

解析 题目要求从低位开始取出长整型变量s中奇数位上的数,设s为7654321,所要去除的为7531。s在每次循环均除以100,因此它的作用是将本次循环所需要得到的奇数位数放到最末一位,而要获得该数仅需在此后将s对10取余,s1初始值为10,且在每次循环后均乘以10,因此可想到是为了将本次循环所获得的奇数位数放到已有数的“前面”,即将上一步所得之数乘以s1,由于是逐次获得奇次位数,所以每次还要加上t的原债。
转载请注明原文地址:https://kaotiyun.com/show/ktPp777K
0

最新回复(0)