c 语言 逆序输出 函数专题

穿精又带淫゛_ 提交于 2020-03-06 00:56:33

/*****
题目描述
输入一个正整数n,计算n的逆序数m,输出m与n的和。要求程序定义一个inverse()函数和一个main()函数,inverse()函数接收一个整数值,返回这个数中数字逆序后的结果值。例如,给定数7631,函数返回1367 。
int inverse(int n)
{
//计算并返回n的逆序数字
}
本题如果是C/C++代码提交,只需要提交inverse函数的定义部分,提交其它内容,编译出错。
输入
一个正整数n,输入保证计算结果在int范围内。
输出
输出一个整数,n与n的逆序数的和。输出占一行。
样例输入 Copy
1780
样例输出 Copy
2651
*****/
!!!!本文借用了 八百标兵奔北坡666 看原文请点击这里 同学的一部分代码,写的有点精彩,但是因为注释太少了,对新手不友好,所以再此我就加上了一些废话,如有不合适请联系我。
以下是我的代码:

#include<stdio.h>

int inverse(int n);
int main()
{
    int n,m;
    scanf("%d",&n);
    m = n + inverse(n);
    printf("%d",m);
    return 0;
}
int inverse(int n)
{
//计算并返回n的逆序数字
    int x,y;
    x = 0;y = 0;
    while(n != 0)
    {
        x = n%10;       //取出n的个位
        y = (y + x) *10;//给个位升阶,并且加上上一轮计算的数字
        n = n/10;       //y其实就是x的更高的一个阶位
                        //将n的第二位暴露出来,用第一步可以取出十位。
                        //然后再升阶,此时个位变成了十位,十位变成了百位,也就完成了逆序。
    }
    y = y /10;          //之所以在除以10是因为我们每次循环以后,最低位都会被
    return y;           //乘以10,所以要降下来。
}

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!