本题要求实现一个求非负整数的逆序数的简单函数,建议用递归实现。
函数接口定义:
unsigned int reverse( unsigned int number );
其中 number是用户传入的参数, number 的值不超过unsigned int的范围;函数须返回用户传入的非负整数number的逆序数,建议用递归实现。
裁判测试程序样例:
#include <stdio.h>
# include <math.h>
unsigned int reverse( unsigned int number );
int main()
{
unsigned int n;
scanf("%u", &n);
printf("%u\n", reverse(n));
return 0;
}
/* 请在这里填写答案 */
输入样例:
12340
结尾无空行
输出样例:
4321
结尾无空行
代码:
unsigned int reverse(unsigned int number)
{
int po=0,res=number;
while(res) res/=10,po++;
if(number<10) return number;
return reverse(number/10)+(number%10)*pow(10,po-1);
}
本文介绍如何使用递归算法编写一个函数,计算并返回给定非负整数的逆序数。通过实例展示如何将大数分解为个位数,并利用递归逐步构建逆序数的过程。
1137

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



