本题目要求读入1个正整数n,然后编写递归函数reverse(int n)实现将该正整数逆序输出。
输入格式:
输入在一行中给出1个正整数n。
输出格式:
对每一组输入,在一行中输出n的逆序数。
输入样例:
12345
结尾无空行
输出样例:
54321
结尾无空行
开始思考,理思路要逆序输出所输入的数字,那怎么样能逆序呢??
考虑取余要是456%10是不是就得到6了?那先将6输出,再除以10取余就可以取到5了,以此类推。
那我们用代码怎么实现呢?
#include<stdio.h>
void print(int n)//递归函数,取余
{
if(n==0) return;
else{
printf("%d",n%10);//取余并输出
print(n/10);//递归调用,实现逆序输出
return;
}
}
int main()
{
long n;//题目要求整型就好int也OK
scanf("%d",&n);
print(n);//调用递归函数
return 0;
}