c++ascii码转换为数字_C语言经典100例001-将一个数字字符串转换为一个整数

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

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

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

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

1 题目

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

输入:字符串 -1234

输出:整数 -1234

17c75667c01e57660cfec05a951d49f3.png

2 思路

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

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

3 代码

#include #include/**编写函数fun()函数功能:将字符串转换为一个整数(但是不能使用C语言提供的字符串函数)例如:输入:字符串"-1234"输出:整型 -1234**/long fun(char *p) { int r = 0;  //数字个数 long res = 0L; // 转化后的数字 int pos = 1;  // 位数*10 *100 ... int size = strlen(p);  // 字符串长度 if (p[0] == '-'){  r = size - 1; } else {  r = size; } // 从前往后转换的话,需要分情况去计算。即:不是负数的话从p[0] 和 如果是负数的话需要从p[1]开始 // 所以,可以从后往前计算,循环次数是 r  for (int i = 0; i 

示例结果:

$ gcc ex1.c -o demo$ ./demoEnter a string: -1234Convert Result: -1234$ ./demoEnter a string: 9089Convert Result: 9089

--END--

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值