C语言:求一个数倒序输出,用递归怎么做

要是100倒序之后输出1
是输入100输出是1的

第1个回答  2011-04-08
你要的是输入一个123,输出就是321嘛?

void fun(int t)/*t是输入的数*/
{
if ( t/10 == 0 )
{
printf("%d",t);
return;
}
printf("%d",t % 10);
t /= 10;
fun(t);
}

void main()
{
int t;
int i;
int w;
printf("输入的数是几位:\n");
scanf("%d",&w);
printf("输入%d位的整数:\n",w);
scanf("%d",&t);
fun(t);
}
第2个回答  推荐于2017-10-01
程序平台 vc6.0.测试,运行完美。
#include <stdio.h>

void reverse(int n);
int main()
{
int a;
printf("input a number:\n");
scanf("%d",&a);
while(a%10 == 0)
{
a = a/10;
}
reverse(a);
return 0;
}
void reverse(int n)
{
if(n>=10)

{
int x;
x = n%10;
n = n/10;
printf("%d",x);

reverse(n);
}
else printf("%d",n);

}

参考资料:自己写的

本回答被提问者采纳
第3个回答  2011-04-08
#include<iostream.h>
int Reverse( int i)
{
if(i == 0 )
return 0;
else
{
cout<<i<<" ";
Reverse(--i);
}
}
int main()
{
int i = 100;
Reverse(i);
cout<<endl;
}
至于楼上的回答 先不说别的 就是reverse(i--) 就会导致错误 i = i -- ; 如果你初始值i = 100 执行完以后 等式左边的i 还是 100 ; 如果想变成99 必须是--i; 否则造成死循环 最终导致内存不足程序崩溃;
第二 本身的逻辑就有错误 无法输出想要的结果
第4个回答  2011-04-08
#include <stdio.h>

static int flag = 0;

extern void func (unsigned int);

void func (unsigned int n)
{
if(flag)
{
printf("%d", n%10);
}
else
{
if( (n%10) != 0 )
{
printf("%d", n%10);
flag = 1;
}
}

if( (n/10) != 0)
{
func(n/10);
}
}

void main()
{
unsigned int n;
printf("Please enter the integer: ");
scanf("%d", &n);

func(n);
}追问

这样输入100就不行了
我要的是输入100能输出1的

追答

输入100,输出的是1。
我在VC6上都试过了。

第5个回答  2011-04-09
从100输出到一吗

int Reverse(int i)
{
if(i == 1)
retutn 0;
else
return Reverse(--i);
}

怎样输出某个数的倒序?
1. 在C语言中,输出一个数的逆序可以通过使用for循环或递归来实现。2. 使用for循环的方法:首先定义一个整型变量`n`,用于存储需要逆序的数。接着,通过一个for循环,从`n`的个位开始,逐一取出每一位,并进行逆序输出。在循环体中,利用`printf`函数打印每一位的数字。示例代码如下:```c include...

c语言输入一个整数,用递归算法将整数倒序输出.
voidorder_print(intn){ if(n<10){ printf("%d",n);return;} order_print(n/10);printf("%5d",n%10);} void reverse_print(intn){ if(n<10){ printf("%-5d",n);return;} printf("%-5d",n%10);reverse_print(n/10);} int...

怎样输出某个数的倒序?
在C语言中,可以使用一个for循环或递归来输出一个数的逆序。以下是两种方法的示例:使用for循环:首先定义一个整型变量n,用于存储需要输出逆序的数。然后使用for循环,从n的个位开始,依次取出每一位,逆序输出。在循环体中,使用printf函数输出每一位。示例代码如下:使用递归:首先定义一个整型变量n,...

C语言如何用递归实现链表的逆序输出、释放、倒序?求大神给出这三段代码...
6. 修正`showReverse`函数,使用后序遍历实现递归打印。7. 修正`reverse`函数,使用递归方式翻转链表。8. 修正`destory`函数,确保正确释放链表节点内存。9. 在`main`函数中,添加必要的头文件引用。10. 在`main`函数中,修正随机数种子设置和链表元素插入。11. 在`main`函数中,调用`show`和`showR...

c语言:采用递归方法实现将输入的字符串按反序输出
以下是使用递归方法实现将输入字符串按反序输出的 C 语言程序:```c include <stdio.h> \/\/ 递归函数,将字符串 str 按反序输出 void printReverse(char *str) { if (*str == '\\0') { \/\/ 判断是否到达字符串结尾 return;} else { printReverse(str + 1); \/\/ 递归调用,输出下一...

C语言递归法把字符倒序输出?
define N 1\/\/这里的1可以改,改成10同时可以玩10个串串 void printfmm(char *s,int len){ if(len==0){printf("%c\\n",s[len-1]);return;} else {printf("%c",s[len-1]);printfmm(s,len-1);} } void main() { char str[N][30],t;int i,s[52]={0},j;printf("上...

用C++编写:倒序输出输入一个整数,用递归的方法编写程序将数倒序输出
我大一,开始不会,搜过,现在做出来了,你看看,感觉好简单。。。 额,递推是什么。。不知道会不会是你想要的?include <iostream.h> void main(){ int a,b;cout<<"请输入一个整数"<<endl;cin>>a;cout<<"它的倒序为";do { b=a%10;cout<<b;if (b==0&&a<10) cout<<a;a=a...

C语言逆序输出
0到10是11个数了,所以不要等于!要倒序输出可以用递归算法!很好用 ,任你字符串多长,只要不爆炸就可以 给你一个,先输入完字串,再倒序输出的:include<stdio.h> void fun(){ char c;if((c=getchar())!='\\n')fun();putchar(c);} main(){ fun();getchar();} 按确认键输出 ...

c语言怎么按输入值正序或倒序输出数据?
定义一个整数类型的输入,然后让它正序输出,倒序输出相信是很多C语言初学入门一定会遇到的经典题目,下面就是我对整数的正序和倒序输出一点小小的总结.1. 反序(倒序)输出 反序输出常用的思路就是按位取余,把取出来的值进行循环保存。int main(){ int i=12345; \/\/定义一个12345的整数 int temp=0;\/...

c语言中如何实现输入一个整数实现倒序输出
1、新建一个工程和.c文件,输入头文件和主函数 2、声明被调用的函数,定义变量类型 3、输入整数 4、用一个if语句去判断整数是否为负数,若为负数则用putchar函数输出一个负号 5、调用一个函数 6、定义函数的返回类型和形参类型 7、通过if语句判断该数是否仅剩一位数,若不是则执行else语句 8、通过...

相似回答