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]==‘-‘)
          num=-num;
     return num;
}
int main()
{
     char arr[M]={0};
     printf("%d",my_atoi(arr));
     return 0;
}
时间: 2024-10-28 02:07:44

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

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语言】【笔试题】实现一个函数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>

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

例: 将"1234"转换为数字1234. 将"-1234"转换为数字-1234. 将"+1234"转换为1234. 分析: 先设置一个标签sign=1, 一个一个读取字符,读到第一个字符判断它是不是'-'和'+':如果是'-'那么令标记sign=-1,并且读取字符指针向后移一位,若果是'+',那么sign不变,指针向后移一位,将新读到的字符如'1',用'1'-'0',得到的值是数字1,设置变量num=0,每次读到的字符转换成数字与num*10相加

实现一个函数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;   

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

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语言实现将一个字符串翻转

问题: 对于字符串char* = "  abcd   efg h";   要求输出" h efg   abcd ";   字符串整体翻转,但是里面每一个单词的顺序不翻转 思想:<1>取得原始字符串的长度, <2>将字符串第一个出现空格位置的索引记录下来,并且放到一个整形数组里,例如上面的 出现空格的位置分别是0 5  11    那么记录数组int b[j];  b[0]=0  b[1] =5; b[2]=11; <3>针对每一个

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

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