递归倒序c语言,c语言递归输出倒序数

发布时间:2023-01-08

本文目录一览:

1、c语言 递归 求倒序
2、c语言输入一个整数,用递归算法将整数倒序输出.
3、C语言递归法把字符倒序输出?
4、C语言 递归倒序输出字符串

c语言 递归 求倒序

#includeconio.h
#includestdio.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>
void order_print(int n)
{
    if(n < 10)
    {
        printf("%d", n);
        return;
    }
    order_print(n / 10);
    printf("%5d", n % 10);
}
void reverse_print(int n)
{
    if(n < 10)
    {
        printf("%-5d", n);
        return;
    }
    printf("%-5d", n % 10);
    reverse_print(n / 10);
}
int main(void)
{
    int n;
    printf("Input a integer:");
    scanf("%d", &n);
    printf("Order print:");
    order_print(n);
    printf("\n");
    printf("Reverse print:");
    reverse_print(n);
    return 0;
}

运行效果:

return的用法:

return的作用是结束正在运行的函数,并返回函数值。return后面可以跟一个常量,变量,或是表达式。函数的定义一般是这样的,例如:

int a(int i) //第一个int是函数的返回值的类型,也就是return后面跟的值的类型,a是函数的名称,括号里的是传递给函数的参数,int是参数的类型,i是参数的名字
{
    ... //省略函数体内容
    return b; //b必须与函数头的返回值一致(此处为int型)
}

简单函数举例:

int addOne(int b)
{
    return b + 1;
}

该函数的作用是取得一个数,将这个数加上1,再将结果返回。 调用时这样:

int result = addOne(2); //此时result的值为3

函数括号里的参数也可以为变量或能算出值的表达式。 以上就是一个基本的函数,一般的函数都有返回值,也就是return后面跟的值,返回值可以为各种数据类型,如:int,float,double,char,a,*a(指针),结构或类(c++)。 但不是所有函数都有返回值,如果某个函数无返回值,那么返回值的位置则为“void”关键字,此时函数体中无返回值,即无return的值。但是函数中也可出现return,即一个空的return句子,其作用是使函数立即结束,如:

void print() //括号中为空表示无传递参数
{
    printf("a");
    printf("b");
    return; //函数执行到此处结束
    printf("c");
}

该函数只执行到return语句处,即屏幕上输出的为"ab"。

C语言递归法把字符倒序输出?

#include<stdio.h>
#include<string.h>
#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("上串串:");
    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>
void f()
{
    char ch;
    if((ch = getchar()) != '\n')
        f();
    if(ch != '\n')
        printf("%c", ch); //这个输出语句是写在了递归调用之后,会被压栈,先压栈的后输出,所以可以实现逆序输出,如果把这个语句移动到f();就不会压栈了
}
void main()
{
    f();
    printf("\n");
}