在做网络互连的实验室的时候,无意中在pongo在线编程上看到得,被坑了,第一次交上去错了,没有判断int的范围,int的范围是-2147483648~2147483647,按照题目要求,转成整型后若结果大于2147483647,则输出2147483647;若结果小于-2147483648,则输出-2147483648.交错一次之后,就不能再提交了,所以不知道结果正确与否,先写在这,回去了再仔细研究。
#include <stdio.h>
#include <string.h>
int StrToInt(const char *str)
{
int sign = 1;
__int64 ans = 0;
int len = strlen(str);
int i=0;
while(str[i] == ' ')
i++;
if(str[i] == '-')
{
sign = -1;
i++;
}
if(str[i] == '+')
{
sign = 1;
i++;
}
while(str[i] == '0')
i++;
for(;i<len;i++)
{
if(str[i]<'0' || str[i]>'9')
break;
ans = ans*10+str[i]-'0';
if(sign == 1 && ans >2147483647)
return 2147483647;
if(sign == -1 && ans >2147483648)
return -2147483648;
}
return sign*ans;
}
int main()
{
char str[1001];
while(gets(str))
{
printf("%d\n",StrToInt(str));
}
return 0;
}
分享到:
相关推荐
自己写的字符串转整数,不依赖任何平台,可实现简单的移植
任意字符串和整数之间实现转化的过程,有完整的逻辑思路,仅供参考
三菱PLC FX5U 字符串转实数(程序说明)
主要介绍了java中字符串转整数及MyAtoi方法的实现的相关资料,需要的朋友可以参考下
本资源是ruby代码,提供了一系列封装好...二进制字符串与整数互转,包括uint8,uin16,uint32, 以及本地字节序和网络字节序两种二进制字符串与整数的互转。这些工具函数对于要处理二进制字符串时很好用,是我多年的积累。
本文档介绍了几种从字符串中提取连续的字符数字转换为整数的方法,附有源代码供参考,适合于那些想要编码实现字符串中提取连续的字符数字转换为整数的同学
C语言 整数转字符串和小数转字符串。
字符串转ascii值的一个子VI,可以直接传给基恩士PLC字符串,PLC是双字节存储字符的 ,一个十六位存储单元存2个字符,分高低位,批量传的时候注意中间加空格
整数转字符串 c语言编写, 对学生学习字符串知识很好帮助
【问题描述】编写函数itob(n,s,b),用于把整数n转换成以b为基的字符串并存储到s中. 编写程序,使用函数itob(n,s,b)将输入的整数n,转换成字符串s,将s输出.转换后的字符串从最高的非零位开始输出。如果n为负数,则输出的...
整数和字符串之间的转换.txt ,非常不错的东西哟,还不快点下载下来。。。
NetShowTool(整数转字符串工具)是一款绿色小巧的整数转换成字符串工具,NetShowTool支持时间格式转换和IP转换,能够将时间(整数)转换为字符串,将IP(整数)转换为字符串,需要的朋友赶快下载使用吧! 软件功能 1、...
js代码-字符串转整数(正则匹配法)
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
# 问题描述: ...# 注意:假如该字符串中的第一个非空格字符不是一个有效整数字符、字符串为空或字符串仅包含空白字符时,则你的函数不需要进行转换 # 在任何情况下,若函数不能进行有效的转换时,请返回 0。
从控制台输入一串字符串,输出时,只输出其中的整数。
这是一个进制转换的vc源码,将在字符串中16进制表示的数转换为10进制的整数
字符串转换整数 使用c#实现MyStoi函数,用于将字符串转换为整数
本文实例讲述了C++实现十六进制字符串转换为十进制整数的方法。分享给大家供大家参考。具体实现方法如下: /* * 将十六进制数字组成的字符串(包含可选的前缀0x或0X)转换为与之等价的整型值 */ #include #include...
Flex 中的字符串 与 整数转换 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">