将一个字符串转换为对应的整数

例:

将“1234”转换为数字1234。

将“-1234”转换为数字-1234.

将“+1234”转换为1234。

分析:

先设置一个标签sign=1,

一个一个读取字符,读到第一个字符判断它是不是‘-’和‘+’;如果是‘-’那么令标记sign=-1,并且读取字符指针向后移一位,若果是‘+’,那么sign不变,指针向后移一位,将新读到的字符如‘1’,用‘1’-‘0’,得到的值是数字1,设置变量num=0,每次读到的字符转换成数字与num*10相加并且赋给num;直到遇到‘\0’为止。最后将num与sign相乘并返回。

代码如下:

#include<stdio.h>
#include<stdlib.h>
int my_atoi(char s[])

 int num = 0;
 int val = 0;
 int sign = 1;
 while(*s!= ‘\0‘)
 {
  if (*s == ‘-‘)
  {
   sign = -1;
   s++;
  }
  else if (*s == ‘+‘)
   s++;
  val = *s - ‘0‘;
  num = num * 10 + val; 
  s++;
 }
 num *= sign;
 return num;
}
int main()
{
 char str[] = "+1234";
 int num = 0;
 int ret=num=my_atoi(str);
 printf("%d\n",ret);
 system("pause");
 return 0;
}

时间: 2024-08-03 23:52:46

将一个字符串转换为对应的整数的相关文章

实现一个函数int my_atoi(char s[]),可以将一个字符串转换为对应的整数

比如:输入字符串"1234",返回数字1234.       输入字符串"+1234",返回数字1234.       输入字符串"-1234",返回数字-1234.                      #include <stdio.h> int my_atoi(char s[10]) {   int flag=1;  //代表符号位的正负号   int ret=0;   //用于存储取出来的数   char *p=s;   

C语言:实现一个函数int my_atoi(char s[]),可以将一个字符串转换为对应的整数,如+1234输出1234

#include<stdio.h> int my_atoi(char s[])     /*字符串转换函数*/ {  char* p = s;  int flag = 1;  int ret = 0;  if(*p=='-')  {   flag=-1;     }     if((*p=='+')||(*p=='-'))     {      p++;      }  while(*p!='\0')   {   if((*p>='0')&&(*p<='9'))  

c语言实现,将一个字符串转换为对应的整数

#include<stdio.h> #define M 10 int my_atoi(char s[]) {      int num=0;      int i=0;      while((s[i]=getchar())!='\n')      {           if(s[i]>='0'&&s[i]<='9')                num=(num*10)+(s[i]-'0');           i++;      }      if(s[0

【C语言】【笔试题】实现一个函数int my_atoi(char s[]),可以将一个字符串转换为对应的整数。

#include <stdio.h> int  my_atoi(char s[5]) { int flag= 1;//在这作为判断'-'的开关 int ret=0; char *p=s; if (*p=='-')//如果第一个字符为'-',那么flag开关就会打开,置成-1: { flag=-1; } if (*p == '+'||*p=='-')//如果第一个字符为'-'或者为'+',那么不再做处理,直接跳到第二个字符 { p++; } while(*p!='\0') { if((*p>

将一个字符串转换为整数。

T:实现一个函数int my_atoi(char s[]),可以将一个字符串转换为对应的整数. 比如:输入字符串"1234",返回数字1234. 输入字符串"+1234",返回数字1234. 输入字符串"-1234",返回数字-1234. #include<stdio.h> #include<math.h> int my_atoi(char s[],int len) { char q; int i=0; int sum=0

[PHP] 算法-将一个字符串转换成一个整数的PHP实现

题目描述 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0. 示例1 输入 +2147483647 1a33 输出 2147483647 0 思路: 1.处理负号 2.处理正号 3.字符串中包含非数字字符的直接返回0 4.'0'字符的ascii码是48 4.遍历字符串,从0位置开始扫描,当前数字字符ascii码减去'0'字符ascii码

关于将一个字符串转换为整数的问题

当我看到这么一个问题时,我觉得是一个很简单的问题,立刻就会想到用一个while循环遍历整个字符串,将一个个字符转化为数字,关于这种问题已经不是第一次遇到了,所以自信满满的写好然后去网上寻找答案. 这或许就是理想和现实的差距,把自己写的程序和标准答案一对,发现没有一个地方可以称之为写对.答案中提到了atoi函数,是一个把字符串转换为整数的库函数. 下面就是具体的实现: long long StrToIntCode(const char *ptr, bool minus) {     long lo

字符串和对应的整数之间的转换

C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串.以下分别用my_atoi()函数将字符串转换为对应的整数,用itoa()函数将整数转换为字符串的.        atoi     把字符串转换成整型数       itoa     把一整数转换为字符串 1.实现一个函数int my_atoi(char s[]),可以将一个字符串转换为对应的整数. 比如:输入字符串"1234",返回数字1234. 输入字符串"+1234",返回

js字符串转换为数字 总结

a. 将一个字符串转换为数字的一种缺少些技巧但是很清楚明白的方法就是:把Number()构造函数作为一个函数来调用:  var number = Number(string_value); b. parseInt()只截取整数,如果一个字符串以"0x"或"0X"开头,parseInt()将其解析成为一个十六进制的数字,parseInt()甚至可以接受一个参数来指定要解析的数字的基数,合法的值在2到36之间 parseInt("3 blind mice&qu