将整数转换成字符串

题目:编写一个递归函数将一个整数n转换成字符串,例如输入483,应输出字符串“483”,n的位数不确定,可以是任意位数的整数

思路:
1.整数在C语言中就是以数本身的大小存放,而字符串里面的整数则以ASCII值存放
例如整数0以整数形式存放时,值为0,但是如果是字符,则是48
因此要将数字转换成字符,应该加上48,即0X30;
2.将用于存放字符串的数组定义成全局数组变量,因为每次递归都要用到它
3.将整数的通过对10取余操作,再加上0x30,存放到数组str[0]中,再将整数/10进行递归调用,依次插入到str前面

C代码:

#include<stdio.h>
char str[80]={0};  //定义全局变量str,此时str的数组长度为0
void fun(int n);
void main()
{  
   int n;
   scanf("%d",&n);
   fun(n);
   printf("%s",str);

}
void fun(int n)
{
   int i;
   if(n==0) return;
   for(i=strlen(str)-1;i>=0;i--)
   str[i+1]=str[i];
   str[0]=n%10+0x30; //将数字转化成字符串
   fun(n/10);  //递归调用
}

在这里插入图片描述

  • 23
    点赞
  • 111
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

红心柚大果

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值