C语言OJ项目参考(2968)递归方法实现逆序

2968: 递归方法实现逆序

Description
你知道递归么?简单来说,递归就是函数自身对自身的调用,直到遇到终止条件,再对数据做逆向处理,下面就有一个递归的简单例子等你来处理。

#include <stdio.h>
void inverted(int); /*函数声明*/
int main()
{
    int n; /*需要逆序的整数*/
    scanf("%d",&n);
    inverted(n); /*调用逆序函数*/
    return 0;
}

void inverted(int n)
{
    if(n<10) /*当数字只剩一位的时候,即第一位数,输出,变为末位,返回*/
    {
        printf("%d",n);
        return;
    }
    /***************/      

    /***************/
    return;
}

Input
一个int型整数

Outputt
转换后的整数

Sample Input
1234567
Sample Outputt
7654321

参考解答:

#include <stdio.h>
void inverted(int); /*函数声明*/
int main()
{
    int n; /*需要逆序的整数*/
    scanf("%d",&n);
    inverted(n); /*调用逆序函数*/
    return 0;
}

void inverted(int n)
{
    if(n<10) /*当数字只剩一位的时候,即第一位数,输出,变为末位,返回*/
    {
        printf("%d",n);
        return;
    }
    /*******只提交下面的5行********/
    else
    {
        printf("%d",n%10);
        inverted(n/10);
    }
    /*******提交到此处********/
    return;
}
时间: 2024-10-31 02:21:55

C语言OJ项目参考(2968)递归方法实现逆序的相关文章

C语言OJ项目参考(2000)数组逆序

Description 输入10个整数存入一维数组,按逆序重新存放后再输出. Input 输入包括一行.10个以空格隔开的整数. Output 逆序的10个整数,整数以空格隔开. Sample Input 1 3 5 9 7 6 8 2 4 0 Sample Output 0 4 2 8 6 7 9 5 3 1 提示:在OJ平台中,将有一个格式错误可能会让你崩溃.友情提示:输出的最后一个数字后面没有空格. 参考解答: #include <stdio.h> int main() { int a[

C语言OJ项目参考(2568) 字符串逆序输出

2568: 字符串逆序输出 Description 编写一个函数,功能是使输入的字符串逆序输出. Input 输入一串字符串,注意字符串中不要有空格. Output 输出该字符串的逆序. Sample Input** ABCDEFG Sample Output GFEDCBA HINT #include<stdio.h> #include<string.h> int main() { char str[100]; scanf("%s",str); int len

C语言OJ项目参考(1047) 最大公约数和最小公倍数

1047: 求两个整数的最大公约数和最小公倍数 Description 写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入. Input 两个数 Output 最大公约数 最小公倍数 Sample Input 6 15 Sample Output 3 30 HINT 主函数已给定如下,提交时不需要包含下述主函数 /* C代码 */ int main() { int n,m,gys,gbs; int gcd(int a, int b); int

C语言OJ项目参考(2966) 循环画三角形

2966: 循环画三角形 Description 前几天,老师让良哥做一个画空心三角形的程序来取悦小师妹,可把良哥愁死了,C语言基础学得再扎实,算法不精也是硬伤呀!于是良哥又写好了主程序来找机前的你帮忙了^_^ #include <stdio.h> void holl_triangle(int n); /*函数声明*/ int main() { int n; scanf("%d",&n); /*输入行数n*/ holl_triangle(n); /*调用输入n行的空

C语言OJ项目参考(2013)一元二次方程Ⅱ

(2013)一元二次方程Ⅱ Description 求一元二次方程ax 2 +bx+c=0 的解.a,b,c为任意实数. Input 输入数据有一行,包括a b c的值. Output 按以下格式输出方程的根x1和x2.x1和x2之间有一个空格. x1 x2 (1)如果x1和x2为实根,则以x1>=x2输出. (2)如果方程是共轭复根,x1=m+ni,x2=m-ni,其中n>0. 其中x1, x2, m,n均保留2位小数. Sample Input 1 2 3 Sample Output -1

C语言OJ项目参考(1992)分数序列

(1992)分数序列 Description 有一个分数序列:2/1, 3/2, 5/3, 8/5, 13/8, -编写程序求出这个序列的前n项之和. Input 输入只有一个正整数n,1≤n≤10. Output 输出该序列前n项和,结果保留小数后6位. Sample Input 3 Sample Output 5.166667 参考解答 #include <stdio.h> int main ( ) { int m1=2,m2=1, n, t, i; double sum=2; scanf

C语言OJ项目参考(1034) 求值

(1034) 求值 Description 求Sn=1!+2!+3!+4!+5!+-+n!之值,其中n是一个数字. Input n Output 和 Sample Input 5 Sample Output 153 参考解答 #include <stdio.h> int main ( ) { int n, i; long fact=1, sum=1; scanf("%d",&n); for(i=2;i<=n;i++) { fact=fact*i; sum+=f

C语言OJ项目参考(1056)输出已交换后的两个值

1056: (用宏)输出已交换后的两个值 Description 定义一个带参的宏(或者模板函数),带有三个参数,第一个参数为类型,后两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参.输出已交换后的两个值. Input 两个短整型数,空格隔开 两个小数,空格隔开 两个长整数,空格隔开 Outputt 交换后的两个数,空格隔开 Sample Input 1 2 1.5 2.5 65535 2147483647 Sample Outputt 2 1 2.5 1.5 2147483647 6

C语言OJ项目参考(2965)趣味取小数

2965: 趣味取小数 Description 听说大家最近学得不错,教授就准备考考大家,先做出来有奖哦~ 编写一个函数,取一个小数的第n(-10<=n<=16)位,当n大于0时,从小数点位置开始向右取小数部分第n位,当n小于0时,从小数点位置开始向左取整数部分的第n位. #include <stdio.h> #include <string.h> int get_one_digit(double num,int n); /*函数声明*/ int main() { do