快捷搜索:  汽车  科技

c语言怎样将数字转换成字符(C语言经典100例001-将一个数字字符串转换为一个整数)

c语言怎样将数字转换成字符(C语言经典100例001-将一个数字字符串转换为一个整数)例如:字符 '0'-'9' 对应的十进制整数是48~57,那么,将对应的整数减去48就得到了对应的整数思路:将字符串每个位置的字符进行对应的ASCII码转换题目:将一个数字字符串转换为一个整数(不得调用C语言中提供的字符串函数进行操作) 例如:输入:字符串 -1234输出:整数 -1234

系列文章《C语言经典100例》持续创作中,欢迎大家的关注和支持。

喜欢的同学记得点赞、转发、收藏哦~

后续C语言经典100例将会以pdf和代码的形式发放到公众号

欢迎关注:计算广告生态 即时查收

1 题目

题目:将一个数字字符串转换为一个整数(不得调用C语言中提供的字符串函数进行操作) 例如:

输入:字符串 -1234

输出:整数 -1234

c语言怎样将数字转换成字符(C语言经典100例001-将一个数字字符串转换为一个整数)(1)

2 思路

思路:将字符串每个位置的字符进行对应的ASCII码转换

例如:字符 '0'-'9' 对应的十进制整数是48~57,那么,将对应的整数减去48就得到了对应的整数

3 代码

#include<stdio.h> #include<string.h> /** 编写函数fun() 函数功能:将字符串转换为一个整数(但是不能使用C语言提供的字符串函数) 例如: 输入:字符串"-1234" 输出:整型-1234 **/ longfun(char*p){ intr=0;//数字个数 longres=0L;//转化后的数字 intpos=1;//位数*10*100... intsize=strlen(p);//字符串长度 if(p[0]=='-'){ r=size-1; }else{ r=size; } //从前往后转换的话,需要分情况去计算。即:不是负数的话从p[0]和如果是负数的话需要从p[1]开始 //所以,可以从后往前计算,循环次数是r for(inti=0;i<r; i){ res =(p[size-1-i]-48)*pos; pos*=10; } returnp[0]=='-'?-res:res; } intmain(intargc charconst*argv[]){ chars[6]; printf("Enterastring:"); gets(s); longres=fun(s); printf("ConvertResult:%ld\n" res); return0; }

示例结果:

$gccex1.c-odemo $./demo Enterastring:-1234 ConvertResult:-1234 $./demo Enterastring:9089 ConvertResult:9089

--END--

喜欢本文的同学记得点赞、转发、收藏~

更多内容,欢迎大家关注我们的公众号:计算广告生态

后续C语言经典100例将会以pdf和代码的形式发放到公众号

同时也带来更多系列文章以及干货!

猜您喜欢: