c语言|C语言-逆序输出

c语言|C语言-逆序输出


①要求
将正整数或负整数
从个位开始逆序输出 。
涉及三个变量 ,
n是原数 ,
m用于储存提取的个位数 ,
【c语言|C语言-逆序输出】y用于储存重新组合的逆序数 。

②定义函数
#include< stdio.h>
int fun(int n)
{int my ;
/*y赋初值 , 组合数在组合之前为0 。 */
y=0;
/*给m赋初值 , 将原数n的绝对值赋值给m 。
我试了 , 也可以直接m=n , 删除y=(n>=0)?y:-y , 结果一样有负号 , 绝对值具体还有什么用 , 等待大神解答 。 */
if(n>=0)m=n;
else m=-n;
/*当m不为0时 , 循环继续 。
当m为0时 , 即提取到只剩一位数时m=m/10=0 , 循环结束 。 */
while(m!=0)
{y=y*10+m%10;
/*提取个位:m%10 。
已经提取个位升为十位:y乘10 。
逆序组合数:y 。 */
m=m/10;
/*降位提取个位:m/10
不断除10取整 , 屏蔽个位;
不断将十位降为个位 , 再提取;
直到只剩一位数 , 循环结束 。 */
y=(n>=0)?y:-y;
/*将负数的负号恢复 。 */
return y;

③主函数
{int m1m2;
scanf(\"%d%d\"&m1&m2);
printf(\"%d的逆序是%d\\t\"m1fun(m1));
printf(\"%d的逆序是%d\\t\"m2fun(m2));
return 0;

④思路整理
1.输入数:n
2.求绝对值:m=|n|
3.提取个位:m%10
4.逆序组合:y=y*10+m%10
5.高位降位:m/10
6.恢复负号:y=(n>=0)?y:-y