1421 整数转字符串(递归)

来源:互联网 发布:网上卖的淘宝教程没用 编辑:程序博客网 时间:2024/06/14 05:31

这里写图片描述
这里写图片描述

#include <stdio.h>int main() {    int t,num;    char str[20];    void itostr(int num,char str[]) ;    scanf("%d",&t);    while(t--) {        scanf("%d",&num);        itostr(num,str);        printf("%s\n",str);    }    return 0;}void itostr(int num,char str[]) {    int len,weight,first,i;    char num2char(int num) ;    //几位数    for(len=1,weight=10; num/weight!=0; len++) {        weight = weight*10;    }    //printf("len=%d\n",len);//确认长度与首位    if(num<0) {        len++;        str[0]='-';        first = 1;    } else {        first = 0;    }    //获取各个位 从后往前    str[len]='\0';    for(i=len-1,weight=1; i>=first; i--) {        //printf("str[%d]=%d %c\n",i,(num/weight) % 10,str[i]);        str[i]= num2char((num/weight) % 10);        weight = weight*10;    }}//把单个数字转化成字符char num2char(int num) {    if(num<0) {        num=(-1)*num;    }    //num>=0 && num<10    char nc ='0'+ num;    return nc;}