题目描述:输入一个正整数n,计算n的逆序数m,输出m与n的和。要求程序定义一个inverse()函数和一个main()函数,inverse()函数接收一个整数值,返回这个数中数字逆序后的结果值。例如,给定数7631,函数返回1367 。
int inverse(int n)
{
//计算并返回n的逆序数字
}
输入:一个正整数n,输入保证计算结果在int范围内。
输出:输出一个整数,n与n的逆序数的和。输出占一行。
样例输入
1780
样例输出
2651
思路:将n从低到高依次分解存放数组,再逐一取出成位权并求和,将结果与n相加即可。(回文数判定类似)
代码
#include <stdio.h>
#include <math.h>
int inverse(int n){
int i=0,j=0,sum=0,a[30];
while(n){//将n新低位到最高位分解为i位数,存放在a数组;
a[i++]=n%10;
n=n/10;
}
while(i){//将a[0]至a[i-1]逐一与位权相乘,并求和
sum+=a[j++]*pow(10
该博客介绍如何使用C语言编写一个inverse()函数,计算输入正整数的逆序数,并输出逆序数与原数之和。通过分解数字并重组实现,适合初学者学习算法和C语言开发。
订阅专栏 解锁全文
719

被折叠的 条评论
为什么被折叠?



