| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1487 人关注过本帖
标题:用递归法实现输入一个任意整数n,将n转换成字符串。
只看楼主 加入收藏
human84
Rank: 3Rank: 3
来 自:哈尔滨 / 重庆
等 级:论坛游侠
帖 子:154
专家分:141
注 册:2009-11-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
用递归法实现输入一个任意整数n,将n转换成字符串。
用递归法实现输入一个任意整数n,将n转换成字符串。
如题,请各位大虾指教~
搜索更多相关主题的帖子: 字符 输入 递归 整数 
2009-12-29 22:13
hyfl
Rank: 7Rank: 7Rank: 7
来 自:火星
等 级:黑侠
帖 子:113
专家分:552
注 册:2008-11-20
收藏
得分:15 
#include <iostream>
using namespace std;

void func(int n)
{
    if(n < 0)
    {
        cout << '-';    //如果是负数,先输出一个符号
        func(-n);        //再输出绝对值的字符串形式
    }
    else if(n == 0)        //如果为0,输出0
        cout << "0";
    else
    {
        int temp = 0;
        temp = n % 10;            
        char ch = '0' + temp;    //取n的个位

        if(n/10 == 0)               
            cout << ch;            //n位个位数,输出该个位的值
        else                    
        {
            func(n/10);            //n不是个位数,输出高位
            cout << ch;            //输出个位
        }
    }

}

int main()
{
    int a;
   
    cout << "输入一个任意的整数:";
    cin >> a;
    cout << "这个整数的字符串形式:";
    func(a);
    cout << endl;
   
    return 0;
}

修改了一下

[ 本帖最后由 hyfl 于 2009-12-30 00:43 编辑 ]

“一切高手都是从菜鸟炼成的!”1099285180@
2009-12-29 23:08
human84
Rank: 3Rank: 3
来 自:哈尔滨 / 重庆
等 级:论坛游侠
帖 子:154
专家分:141
注 册:2009-11-1
收藏
得分:0 
谢谢,2楼的...我初学,有些看不懂,给个注释啥的呗
比如:cout << func(-123456789) << endl;
return "-" + func(-aint);
不懂啊..
2009-12-29 23:16
longlong89
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:小飞侠
威 望:6
帖 子:1043
专家分:2754
注 册:2009-8-18
收藏
得分:5 
cout改printf
endl改换行

想象力征服世界
2009-12-30 19:50
快速回复:用递归法实现输入一个任意整数n,将n转换成字符串。
数据加载中...
 
   



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

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