关于整型转字符串的三种方法[通俗易懂]

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

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

众所周知,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进制等,看一下代码自己敲一遍应该就能明白的。

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180238.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 在ListView中实现排序

    在ListView中实现排序此处介绍的情境是:(1)使用table布局ListView。(2)ListView的数据源是List。(3)排序字段2个(帖子的回复次数和浏览次数),都是int类型。基本思路:ListView触发数据

    2022年7月3日
    23
  • 不含重复字符的最长子串长度JAVA_字符串回文判断

    不含重复字符的最长子串长度JAVA_字符串回文判断给你一个二进制字符串 s ,现需要将其转化为一个 交替字符串 。请你计算并返回转化所需的 最小 字符交换次数,如果无法完成转化,返回 -1 。交替字符串 是指:相邻字符之间不存在相等情况的字符串。例如,字符串 “010” 和 “1010” 属于交替字符串,但 “0100” 不是。任意两个字符都可以进行交换,不必相邻 。示例 1:输入:s = “111000”输出:1解释:交换位置 1 和 4:”111000″ -> “101010” ,字符串变为交替字符串。示例 2:输入:s =

    2022年8月9日
    7
  • 阿里云设置端口访问、使用_阿里云服务器端口号

    阿里云设置端口访问、使用_阿里云服务器端口号登录阿里云账号后,点击控制台点击自定义视图→再点击云服务器ECS点击实例id进入实例:点击本实例安全组:点击安全组id或者配置规则进入安全组规则配置界面,可以选择添加方式,这里以手动添加作为演示点击手动添加后,会出现添加栏,我们配置521端口,源选择0.0.0.0/0(意思是开放给所有人),最后点击保存放行端口就设置完毕了此外也可以从另一个地方进入本地实例安全组:(1)点击云服务器ECS后(上述步骤3)进入实例页面后,可以直接点击实例(2)选择自..

    2022年10月3日
    0
  • tomcat闪退原因分析[通俗易懂]

    tomcat闪退原因分析[通俗易懂]tomcat闪退原因分析tomcat闪退原因分析第一种端口被占用第二种jdk不匹配第三种运行环境配置分析tomcat环境变量配置tomcat闪退总结导出与导入导出导入tomcat闪退原因分析在学习javaweb阶段,我们一般使用的是tomcat最为我们的学习服务器,tomcat它是免费且开源的。第一种端口被占用第二种jdk不匹配第三种运行环境配置分析tomcat环境变量配置1、有没有…

    2022年5月30日
    34
  • Mysql字符串截取[通俗易懂]

    Mysql字符串截取[通俗易懂]Mysql字符串截取函数

    2022年5月7日
    46
  • Deep Boltzmann Machines

    Deep Boltzmann Machines转载自:http://blog.csdn.net/win_in_action/article/details/25333671 http://blog.csdn.net/zouxy09/article/details/8775518深度神经网络(Deepneuralnetwork)   深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构

    2022年7月13日
    12

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号