码迷,mamicode.com
首页 > 其他好文 > 详细

谭浩强 c程序设计 8.17用递归法将一个整数n转换成字符串。例如,输入486,应输出字符串"486"。n的位数不确定,可以是任意位数的整数。

时间:2017-07-29 23:15:50      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:vbs   sky   idg   otl   cow   uav   bsh   hal   hfs   

8.17用递归法将一个整数n转换成字符串。例如,输入486,应输出字符串"486"。n的位数不确定,可以是任意位数的整数。

#include <stdio.h>

char str1[20];
int i=0;
long n;
int main(){
    
    int longToStr(long n);
    char *revstr(char *str, int len);
    printf("请输入一个整数n:\n");
    scanf("%ld",&n);
    char *p;
    longToStr(n);
    p=revstr(str1, i);
    *(p+i)=‘\0‘;
    printf("输出的字符串为:\n");
    puts(p);
    return 0;
}

//字符串翻转函数
char *revstr(char *str, int len)
{

    char * start = str;
    char * end = str + len - 1;
    char ch;

    if (str != NULL)
    {
        while (start < end)
        {
            ch = *start;
            *start++ = *end;
            *end-- = ch;
        }
    }
    return str;
}

int longToStr(long n){
        int a = (int)(n%10);
        str1[i++]=a+48;
        if(n-a!=0)
            {
            n=(n-a)/10;
            longToStr(n);
            }
        else {str1[i]=‘\0‘;
                return 0;    
            }
}

conclusion:

技术分享

谭浩强 c程序设计 8.17用递归法将一个整数n转换成字符串。例如,输入486,应输出字符串"486"。n的位数不确定,可以是任意位数的整数。

标签:vbs   sky   idg   otl   cow   uav   bsh   hal   hfs   

原文地址:http://www.cnblogs.com/Allen-win/p/7257697.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!