‘壹’ c语言你编程:用递归方法实现对一个整数 的 逆序输出
#include <stdio.h>
void printData(int data)
{
if (data==0)
{
return;
}
printf("%d",data%10);
printData(data/10);
}
int main()
{
int data;
printf("Enter a number:");
scanf("%d",&data);
printData(data);
printf("\n");
return 0;
}
程序如上,可以运行。
‘贰’ C语言递归法把字符倒序输出
#include <stdio.h>
#include <string.h>
#define N 1//这里的1可以改,改成10同时可以玩10个串串
void printfmm(char *s,int len){
if(len==0){printf("%c ",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("上串串:");
for(i=0;i<N;i++)
gets(str[i]);
for(i=0;i<N;i++)
printfmm(str[i],strlen(str[i]));
}
‘叁’ c语言输入一个整数,用递归算法将整数倒序输出.
#include<stdio.h>
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 main(void)
{
int n;
printf("Inputainteger:");
scanf("%d",&n);
printf("Orderprint:");
order_print(n);
printf("\n");
printf("Reverseprint:");
reverse_print(n);
return0;
}
运行效果:
(3)c语言通过递归实现数字倒数扩展阅读:
return的用法:
return的作用是结束正在运行的函数,并返回函数值。return后面可以跟一个常量,变量,或是表达式。函数的定义一般是这样的,例如:
inta(inti)//第一个int是函数的返回值的类型,也就是return后面跟的值的类型,a是函数的名称,括号里的是传递给函数的参数,int是参数的类型,i是参数的名字
{
...//省略函数体内容
returnb;//b必须与函数头的返回值一致(此处为int型)
}
简单函数举例:
intaddOne(intb)
{
returnb+1;
}
该函数的作用是取得一个数,将这个数加上1,再将结果返回
调用时这样:
intresult=addOne(2);//此时result的值为3
函数括号里的参数也可以为变量或能算出值的表达式
以上就是一个基本的函数,一般的函数都有返回值,也就是return后面跟的值,返回值可以为各种数据类型,如:int,float,double,char,a[](数组),*a(指针),结构或类(c++)
但不是所有函数都有返回值,如果某个函数无返回值,那么返回值的位置则为“void”关键字,此时函数体中无返回值,即无return的值。但是函数中也可出现return,即一个空的return句子,其作用是使函数立即结束,如voidprint()//括号中为空表示无传递参数、
{
printf("a");
printf("b");
return;//函数执行到此处结束
printf("c");
}//该函数只执行到return语句处,即屏幕上输出的为"ab"
‘肆’ c语言用递归法将五个字符倒序输出
很简单的程序
供参考
只能输入最多5个字符
超过会出错
要输入更多 修改buffer大小
#include<stdio.h>
voidprint(char*s)
{
if(*s)
{
print(s+1);
printf("%c",*s);
}
}
intmain()
{
charbuffer[6]={0};
gets(buffer);
print(buffer);
return0;
}
‘伍’ c语言中如何实现输入一个整数实现倒序输出
1、新建一个工程和.c文件,输入头文件和主函数
‘陆’ C语言:求一个数倒序输出,用递归怎么做
你要的是输入一个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);
}
‘柒’ c语言:将递归的方法将一个正整数逆序输出
1.
算法:递归函数传入正整数,先输出最末尾数字,再除以10用递归函数继续迭代,直到该正整数为0时终止递归。
2.
例程:
#include<stdio.h>
void rev(int n){
if(n > 0) { //判断该数是否大于0
printf("%d", n%10); //输出末位数值
rev(n/10); //递归迭代整除10后的剩余值
}
}
int main(){
rev(1234); //样例输入1234
return 0;
}//样例输出 4321
‘捌’ C语言题目:用递归法,将字符串倒序输出
#include<stdio.h>voidrev();intmain(){rev();return0;}voidrev(){charc;c=getchar();if(c!='\n'){rev();printf("%c",c);}}
这个倒序的函数,就是如果没有读到回车符,就继续递归调用函数,直到读到回车符时才递归返回,这时才输出刚才地压到栈里的前面读到的字符,所以,输出是逆序的。
‘玖’ c语言 递归 求倒序
#include<conio.h>
#include<stdio.h>
void
reverse()
//递归函数
{
char
a;
//每个函数有个保存一个字符的变量
a=getchar();
if(a=='\n')
return;
//如果遇到回车结束,即最后的退出条件
else
reverse();
否则进入递归调用
putchar(a);
每个递归出来时输出它接收的一个字符
return;
}
main()
{
printf("\n");
reverse();
getch();
}
完全按你的要求来的
‘拾’ c语言 如何编写一个递归函数返回一个整数的反序数
用静态变量实现
#include<stdio.h>
longinverse(longx)
{
staticlongs=1;
longt;
if(x==0)return0;
t=revers(x/10);
t+=x%10*s;
s*=10;
returnt;
}
intmain()
{
longn;
scanf("%ld",&n);
printf("%ld ",revers(n));
return0;
}