【C语言】编写函数实现库函数atoi,把字符串转换成整形
//编写函数实现库函数atoi。把字符串转换成整形
#include <stdio.h>
#include <string.h>
int my_atoi(const char *src)
{
int flag=1;
int sum=0;
while (*src)
{
if (*src == ' ')
src++;
else if (*src == '+')
{
src++;
flag = 1;
}
else if(*src == '-')
{
src++;
flag = -1;
}
else if(*src >= '0'&&*src <= '9')
{
sum = sum * 10 + (*src - '0');
src++;
}
else
{
return 0;
}
}
sum = sum*flag;
return sum;
}
int main()
{
printf("%d\n", my_atoi(" +12345"));
printf("%d\n", my_atoi(" -12345"));
printf("%d\n", my_atoi("+12345"));
printf("%d\n", my_atoi("-12345"));
printf("%d\n", my_atoi("123 45"));
printf("%d\n", my_atoi("234 5"));
printf("%d\n", my_atoi(""));
printf("%d\n", my_atoi("123ab"));
return 0;
}
【C语言】编写函数实现库函数atoi,把字符串转换成整形的更多相关文章
- [原创]SQL表值函数:把用逗号分隔的字符串转换成表格数据
我们日常开发过程中,非常常见的一种需求,把某一个用逗号或者/或者其他符号作为间隔的字符串分隔成一张表数据. 在前面我们介绍了 [原创]SQL 把表中字段存储的逗号隔开内容转换成列表形式,当然按照这 ...
- 【C语言】编写函数实现库函数atof
//编写函数实现库函数atof #include <stdio.h> #include <assert.h> #include <ctype.h> #include ...
- C语言atoi()函数:将字符串转换成int(整数)
头文件:#include <stdlib.h> atoi() 函数用来将字符串转换成整数(int),其原型为:int atoi (const char * str); [函数说明]atoi ...
- 如何实现字符串转换成整数(实现atoi内置函数)?
题目描述 输入一个由数字组成的字符串,把它转换成整数并输出.例如:输入字符串"123",输出整数123. 给定函数原型int StrToInt(const char *str) , ...
- 算法练习-字符串转换成整数(实现atoi函数)
练习问题来源 https://leetcode.com/problems/string-to-integer-atoi/ https://wizardforcel.gitbooks.io/the-ar ...
- C语言将字符串转换成对应的数字(十进制、十六进制)【转】
转自:http://wawlian.iteye.com/blog/1315133 问题1:讲一个十进制数字的字符串表示转换成对应的整数.举例:将“”转换成整数1234. C代码 收藏代码 /*将字符串 ...
- 【转】C语言将字符串转换成对应的数字(十进制、十六进制)
转自:http://wawlian.iteye.com/blog/1315133 1.一个十进制数字的字符串表示转换成对应的整数.举例:将“1234”转换成整数1234 /*将字符串s转换成相应的整数 ...
- 【LeetCode-面试算法经典-Java实现】【008-String to Integer (atoi) (字符串转成整数)】
[008-String to Integer (atoi) (字符串转成整数)] [LeetCode-面试算法经典-Java实现][全部题目文件夹索引] 原题 Implement atoi to co ...
- Python使用函数实现把字符串转换成整数
需求:假设Python没有提供内置函数int如果使用函数方式实现把一串字符串转换成整数例如把字符串‘12345‘转换成整数12345 思路 1,字符串也是序列可以使用map函数处理分割成一个列表 2, ...
随机推荐
- Mybatis传多个参数(推荐)
Dao层的函数方法 int deleteMsgById(@Param("name") String name,@Param("id") String id); ...
- 突破极限 解决大硬盘上安装Sco Unix新思路
突破极限 解决大硬盘上安装Sco Unix新思路 [url]http://os.51cto.com/art/200809/89750.htm[/url] 硬盘越做越大,然我喜欢让我忧.10 ...
- CSS3侧滑导航
<!DOCTYPE> <html> <head> <meta charset="utf-8" /> <meta name=&q ...
- Linux下解压缩文件命令总结
---------------------------------------------tar命令: -v 可视化-c 新建包-f 指定文件名(除非你用默认用户名)-x 解压target.tar-r ...
- 玩转 Jupyter Notebook (CentOS)
Jupyter Notebook 简介 Jupyter Notebook 是一个开源的 Web 应用程序,可以用来创建和共享包含动态代码.方程式.可视化及解释性文本的文档.其应用于包括:数据整理与转换 ...
- TCP简单说|(上)
本文在Creative Commons许可证下发布 TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面.所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人 ...
- 【Henu ACM Round#14 C】Duff and Weight Lifting
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 2^y可以由两个2^(y-1)相加得到. 则有一个贪心的策略. 就是2^x尽量都变成2^(x+1) (即能够凑就尽量凑) 如果x还有 ...
- HRBUST 1818 石子合并问题--直线版
石子合并问题--直线版 Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HRBUST. Original ...
- hiho week 38 P1 : 二分·二分答案
P1 : 二分·二分答案 Time Limit:10000ms Case Time Limit:1000ms Memory Limit:256MB 描述 在上一回和上上回里我们知道Nettle在玩&l ...
- sendfile复习
之前有一篇文章: http://www.cnblogs.com/charlesblc/p/6341605.html 今天又看到其他的一篇: http://www.cnblogs.com/fengyv/ ...