首先声明,我写博客很大程度是为了记录和分享我的编程之路,如果后来人是在百度上面搜到我的文章,动机不是为了知识本身,而是为了应付题目的话,我话摆在这里,借鉴可以,但是一定要转化成自己的知识,不要只抄,然后没弄懂,那还不如直接花钱请人帮你做了,我一直秉持的原则就是,你真不想干某件事,而这件事又在你看来是没有意义的话,倒还不如用钱解决,说白了就是用钱买时间,没有必要在一些对你没有意义的地方花过多时间,倒还不如用这么点时间去做一些更有意义的事情

众所周知,C语言是一门很基础的入门语言,相对于python这些脚本语言的话,很多地方都会比较麻烦,需要自己手动来编,

但是,这恰恰就是打好编程底子很关键的时候,

高楼大厦如何搭的高还是要看原先的底子打的厚不厚实。

因此,面对这种整型转字符串的要求,虽然用脚本之类的函数可以一步到位,但是为了锻炼自己的能力,我自己还是尝试了编了下相关函数,

下面给出代码

方法1

#include<string.h>
#include<math.h>
int mi(int x)   计算10的幂次
{int i=0,ans=1;for(i;i<x;i++){ans=ans*10;}return ans;
}
int main()
{int a=123465; a是要转化的整数int n=a,count=0;while(a!=0)      求出a的位数count{a=a/10;count++;}int i=0,j=count;char b[count];for(i;i<j;i++)      这里我是正序添加字符的{b[i]=n/mi(count-1)+'1'-1;n=n%mi(count-1);count--;} printf("%s",b);
}

用C语言进行这俩者的转化,不外乎就俩种思路,第一种就是我上面说的这种,先求出整数长度,然后就利用 b [ i ] = n / mi ( count-1 ) + ‘1’ - 1; 从最高位依次取出数字,再转化成字符。

第二种就是先不计算整数长度,直接利用整除求余,倒序取出数字,即倒序存入字符数组,最后再将它们逆序,代码如下:

方法二

#include <stdio.h>
#include<string.h>
#include<math.h>
char* int_to_char(int a)  转化函数
{char count=0,b[100];while(a!=0)      逆序存入{b[count]=a%10+'0';a=a/10;count++;}char c[100],i,j;i=count-1;j=0;for(j;j<count;j++)   倒序{c[j]=b[i];i--;}c[j]='\0';return c;
}
int main()
{int a;scanf("%d",&a);char *p=int_to_char(a);printf("%s",p);
}

这里我将其结构化,方便之后要用到的时候不用再浪费时间到这上面,下次就可以直接来博客里拿,毕竟不能在重复的简单劳动上浪费精力。

下面介绍第三种方法,也是最无脑的方法,若你是初学者或者我是不推荐你用的,因为这个方法对学习本身帮助不大,后面有的是时间让你接触这方面的知识。

方法三

#include <stdlib.h>
#include <stdio.h>
int main()
{int number1 = 123456;int number2 = -123456;char string[16] = {0};itoa(number1,string,10);printf("数字:%d 转换后的字符串为:%s\n",number1,string);itoa(number2,string,10);printf("数字:%d 转换后的字符串为:%s\n",number2,string);return 0;
}

转载自 https://blog.csdn.net/nanfeibuyi/article/details/80811498
点击这里,可以看到更详细的过程

有没有感觉简单的离谱?就是用了stdlib头文件里面的itoa就轻松实现了,还有很多转化都可以用这个实现,如果感兴趣的话可以去网上查。

itoa的第三个参数是转化成10进制,8进制还是2进制等,看一下代码自己敲一遍应该就能明白的。

如果觉得有帮助,可以关注一下我的公众号,我的公众号主要是将这些文章进行美化加工,以更加精美的方式展现出来,同时记录我大学四年的生活,谢谢你们!

关于整型转字符串的三种方法相关推荐

  1. 在JavaScript中重复字符串的三种方法

    In this article, I'll explain how to solve freeCodeCamp's "Repeat a string repeat a string" ...

  2. 在JavaScript中反转字符串的三种方法

    This article is based on Free Code Camp Basic Algorithm Scripting "Reverse a String" 本文基于F ...

  3. JS截取字符串的三种方法详解

    本文详细讲解了JS截取字符串的三种方法,文中通过示例代码介绍的非常详细.对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 JS提供三个截取字符串的方法,分别是:slice(),subst ...

  4. VS中C#读取app.config数据库配置字符串的三种方法(转)

    关于VS2008或VS2005中数据库配置字符串的三种取法 VS2008建立Form程序时,如果添加数据源会在配置文件 app.config中自动写入连接字符串,这个字符串将会在你利用DataSet, ...

  5. {转}Java 字符串分割三种方法

    http://www.chenwg.com/java/java-%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%88%86%E5%89%B2%E4%B8%89%E7%A7%8D%E6%9 ...

  6. Java 字符串分割三种方法

    最近在项目中遇到一个小问题,一个字符串分割成一个数组,类似String str="aaa,bbb,ccc"; 然后以","为分割符,将其分割成一个数组,用什么方 ...

  7. java 字符串拆分技巧_{转}Java 字符串分割三种方法

    http://www.chenwg.com/java/java-%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%88%86%E5%89%B2%E4%B8%89%E7%A7%8D%E6%9 ...

  8. Swift忽略大小写搜索子字符串的三种方法及性能对比

    功能需求 在Swift中,字符串比较和搜索是很常见的操作.有时我们需要以特殊条件在一个字符串中搜索子字符串:比如忽略大小写或忽略变音符号. 在本篇博文里,我们将探讨Swift里三种特殊搜索字符串的方法 ...

  9. JS_JS截取字符串的三种方法

    JS中有三个截取字符串的方法,分别是substring().substr().slice(). 相同点:对字符串进行截取,并且返回一个新的字符串,不会对原字符串进行修改. 不同点:参数不同. 1.su ...

最新文章

  1. c语言计算日出日落时间_计算日出日落算法实现
  2. LimeSDR性能参数介绍及如何用它实现通信过程
  3. win8音频服务器未响应,大神为你详解win8系统右键点击文件提示“未响应”的解决教程...
  4. python编程环境要求_python公开课|我们需要优秀Python编程环境的要求居然是这些...
  5. 【总结】找到自适合的学习方法
  6. 如何区分localhost、127.0.0.1和0.0.0.0等ip地址
  7. c语言中1%100是什么意思,**************
  8. AHB-lite时序详细解读
  9. 企业级应用的前端思考。
  10. SPOJ OTOCI 动态树 LCT
  11. 【Python】随机种子 random/numpy/pytorch/pytorch.cuda
  12. ios mailto:// 用邮箱发邮件_投简历用什么邮箱最好?投简历怎么发邮件?
  13. java反编译class文件,一种最最简单的方法
  14. 密码学中数论和有限域基本概念
  15. 为何觉得静态ip比动态ip的网速更快
  16. 基于Auto.js的萌猫跳辅助
  17. 如何查看steam游戏销量_如何查看您在Steam游戏上花费的金钱和时间
  18. 期刊级别应该是怎样划分的呢?
  19. oracle数据库alter table,oracle 数据库 alter table的用法(经典)
  20. EBS开发_固定资产成批增加

热门文章

  1. 笔记本【冷门技巧】HBuilder X编辑器中光标变成下横线
  2. 【iOS沉思录】iOS添加自定义字体详解
  3. 计算机领域项目经费预算,课题经费预算.doc
  4. Aegisub 特效字幕模板:逐字淡入淡出(卡拉OK版+转场版)
  5. 软件测试面试:如何测试一个杯子
  6. 图像处理课程复习整理(前四章节/前7个PPT)
  7. 市场经销必备图文工具,推荐几个值得收藏的
  8. 进入网站时背景音乐自动播放
  9. 中小型游戏为什么容易被攻击
  10. 肩外展枕-肩部骨折固定护具