递归函数将整数转字符串

写一个函数,用递归法将一个整数n转换成字符格式输出,数字字符之间以下划线’_’分割,在主程序中输出该字符串。例如,输入整数486,输出字符串"4_8_6"

#include<stdio.h>
 
int main() {
	void int_to_str(int n); 
	int n;
	printf("请输入一个整数n:");
	scanf("%d", &n);
	if (n < 0) {  // 如果n小于0,则在前面添加上- 
		printf("-");
		n = -n;
	}
	int_to_str(n);
	printf("\n");
	return 0;
}

void int_to_str(int n) 
{
	if (n/10 != 0){  // 递归的思想呀, 
		int_to_str(n/10);  
	}
	printf("%c", n%10+'0');
}
 
 

 

#include<stdio.h>
#include<string.h>

void tostr(char *s, int n)
{
    if (n/10 != 0)
       tostr(s,n/10);
    int i = strlen(s);
    if (n/10 != 0)
        s[i++] = '_';
    s[i] = '0'+n%10;
}

int main() {
    int n;
    printf("输入一个整数:");
    scanf("%d", &n);
    char s[30] = {0};
    tostr(s,n);
    printf("%s\n",s); //在主程序中输出该字符串。
    return 0;
}


#include <stdio.h>
#include <string.h>

int main()
{
    char c[20] = {0};
    int n = 0;
    int d = 0;
    
    printf("Please enter a number: ");
    scanf("%d", &n);
    
    if (n == 0)
    {
        d = 1;
    }
    else 
    {
        while (n > 0)
        {
            c[d++] = n %10;
            n /= 10;
        }
    }
    
    for (int i = d; i > 0; --i)
    {
        if (i < d)
        {
            printf("_");
        }
        printf("%d", c[i - 1]);
    }
    
    return 0;
}

// Output
Please enter a number: 486                                                                                                                                                         
4_8_6                                                                                                                                                                              

Please enter a number: 0                                                                                                                                                           
0 

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y