| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2591 人关注过本帖
标题:关于用递归法求一个数的反向值如:123取反321
取消只看楼主 加入收藏
a451410
Rank: 2
等 级:论坛游民
帖 子:34
专家分:48
注 册:2018-3-4
结帖率:83.33%
收藏
已结贴  问题点数:1 回复次数:2 
关于用递归法求一个数的反向值如:123取反321
为什么我这个程序运行后直接结束,是不是我思路错了?还是哪里有问题,编译器并没有报错,不过有警告;TAT反正我也看不懂

#include <stdio.h>

int ret(int n,int m);

void main()
{
    double x,y;
    printf("***************************************************************\n");
    printf("输入欲取反的整数(若输入小数则只取整数部分),输入负数结束程序:\n");
    printf("键入的数值为:");
    scanf("%lf",&x);
    while(x==0)
    {
        y=ret(x,0);
        printf("该数取反后为:%.0lf\n\n",y);
        printf("***************************************************************\n");
        printf("输入欲取反的整数(若输入小数则只取整数部分),输入负数结束程序:\n");
        printf("键入的数值为:");
        scanf("%lf",&x);
    }
    return 0;
}

int ret(int n,int m)
{
    if(n<10)
    {
        m= 10*m+n%10;
        return m;
    }

    m= n%10+10*m;
    n= (n-n%10)/10;
    m= ret(n,m);
    return m;
}
搜索更多相关主题的帖子: 取反 int printf 输入 整数 
2018-03-20 20:24
a451410
Rank: 2
等 级:论坛游民
帖 子:34
专家分:48
注 册:2018-3-4
收藏
得分:0 
回复 2楼 word123
感谢。粗心了。。(つд⊂)
2018-03-20 20:57
a451410
Rank: 2
等 级:论坛游民
帖 子:34
专家分:48
注 册:2018-3-4
收藏
得分:0 
回复 5楼 话宝宝
额(⊙o⊙)…,不是啊。你这个求不出来取反啊,输入123不能输出321吧。我用double是有用的为了把输入的数强制转换为整形,为了健壮性,哈哈,以后你学到递进就明白了。同刚学,共勉
2018-03-20 21:13
快速回复:关于用递归法求一个数的反向值如:123取反321
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020917 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved