字串轉換成整數(atoi)函式的具體實現
程式碼如下:
#include "stdio.h"
int Atoi(char* str)
{
int sum=0;
while(*str!='\0')
{
if (*str>='0' && *str<='9')
{
sum=sum*10+*str-'0';
}
str++;
}
return sum;
}
int main()
{
char mystr[]="546";
int M=Atoi(mystr);
printf("%d\n",M);
return 0;
}
在Atoi函式中,關鍵是
這個函式中沒有考慮字串開頭有“+”、“-”符號,也沒有考慮字串中有除了0到9之外的字元~~所以還是要簡單一些
具體思路:
本來我是想求出字串str 的長度,然後用for 迴圈,從第一個字元到最後一個字元,再用sum=sum*10+str[i]-'0';,但是字串的長度不能直接用strlen函式,
我還得自己實現strlen,所以比較麻煩~~
實際上可以不用求字串的長度,只要把字串與‘\0’ 比較即可,如果不相等,說明字串還沒結束,可以利用每個字元要介於‘0’和‘’9 之間,再獲取指標指向的每一個字元,可以將字串轉換成整數
相關推薦
字串轉換成整數(atoi)函式的具體實現
程式碼如下: #include "stdio.h" int Atoi(char* str) {int sum=0;while(*str!='\0'){if (*str>='0' && *str<='9'){sum=sum*10+*str-'0';
字串轉換成整數(Java)
題目:字串轉換為整數。 思路:將字串轉化為整數首先是遍歷字串中的每一個字元,有三種情況:首字元是正號,首字元是負號,首字元非正負號;然後遍歷每一個字元進行num = num * 10 + charAr
劍指offer之將字串轉換成整數(Java實現)
將字串轉換成整數 NowCoder 題目描述: 將一個字串轉換成一個整數(實現Integer.valueOf(string)的功能,但是string不符合數字要求時返回0),要求不能使用字串轉換整數的庫函式。 數值為0或者字串不是一個合法的數值則返回0。 輸入描述: 輸入一個
字串轉換成整數 (bug版)
題目詳情(網址http://hero.pongo.cn/home/index)輸入一個表示整數的字串,把該字串轉換成整數並輸出,例如輸入字串"345",則輸出整數345。 請完成函式StrToInt,實現字串轉換成整數的功能。友情提醒:提交程式碼之前,請複查下你的程式,
把字串轉換成整數(字串)
題目描述:將一個字串轉換成一個整數,要求不能使用字串轉換整數的庫函式。 數值為0或者字串不是一個合法的數值則返回0。 輸入描述:輸入一個字串,包括數字字母符號,可以為空 輸出描述:如果是合法的數值表達則返回該數字,否則返回0 思路一: public class Solu
劍指offer系列(十七)求1+2+3+...+n,不用加減乘除做加法,把字串轉換成整數
求1+2+3+...+n 題目描述 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。 解題思路: 法一:利用python的特性 法二:用兩個函式,一個遞迴,另一個終止遞迴。如果對n連續進
【LeetCode 中等題】5-字串轉換整數(atoi)
宣告: 今天是中等題第5道題。實現一個 atoi 函式,使其能將字串轉換成整數。以下所有程式碼經過樓主驗證都能在LeetCode上執行成功,程式碼也是借鑑別人的,在文末會附上參考的部落格連結,如果侵犯了博主的相關權益,請聯絡我刪除 (手動比心ღ( ´・ᴗ・` )) 正
LeetCode第八題 字串轉換整數(atoi)(java)
題目描述: 請你來實現一個 atoi 函式,使其能將字串轉換成整數。 首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第一個非空格的字元為止。 當我們尋找到的第一個非空字元為正或者負號時,則將該符號與之後面儘可能多的連續數字組合起來,作為該整數的正
(位運算)把字串轉換成整數
public int StrToInt(String str) { if (str == null || str.len
C:atoi 字串轉換成整數
int atoi(char *str) { int sign=1; int result=0; //去前導空白 while (isspace(*str)) { str++; } //判斷正負 if (*str=='-') {
swift 字串轉整數(atoi)- LeetCode
實現 atoi,將字串轉為整數。 在找到第一個非空字元之前,需要移除掉字串中的空格字元。如果第一個非空字元是正號或負號,選取該符號,並將其與後面儘可能多的連續的數字組合起來,這部分字元即為整數的值。如果第一個非空字元是數字,則直接將其與之後連續的數字字元組合起來,形成整數。 字串可
將帶下劃線的字串轉換成大寫(下劃線後大寫)的高效方法
如test_tb_kkk_llll 轉換為 TestTbKkkLlll 原理: 1. 判斷是否包含下劃線 (1) 包含: &
一個好用的函式 wcstoul:把CString包含的字串轉換成整數
Convert strings to an unsigned long-integer value. unsigned long wcstoul( const wchar_t *nptr, wchar_t **endptr, int base );
007——字串轉整數(atoi)
// // Created by HINTS on 2018/11/29. // #include <iostream> #include <string> using namespace std; int myAtoi(string str){ int i =
Python:使用map和reduce實現整數字符串轉換為整數(忽略int函式)
#!/usr/bin/env python # coding:UTF-8 """ @version: python3.x @author:曹新健 @contact: [email protected] @software: PyCharm @file: map和
每日LeetCode之 字串轉整數(atoi)
解決方案: public int myAtoi(String str) { if(str.isEmpty()) return 0; int flag =1,i=0;
LeetCode字串轉整數(atoi)
字串轉整數(atoi) 實現 atoi,將字串轉為整數。 在找到第一個非空字元之前,需要移除掉字串中的空格字元。如果第一個非空字元是正號或負號,選取該符號,並將其與後面儘可能多的連續的數字組合起來,這部分字元即為整數的值。如果第一個非空字元是數字,則直接將其
LeetCode ---- 字串轉整數(atoi)
實現 atoi,將字串轉為整數。 在找到第一個非空字元之前,需要移除掉字串中的空格字元。如果第一個非空字元是正號或負號,選取該符號,並將其與後面儘可能多的連續的數字組合起來,這部分字元即為整數的值。如果第一個非空字元是數字,則直接將其與之後連續的數字字元組合起
實現一個函式,把一個字串轉換成整數
作者:翁鬆秀 劍指offer之“把一個字串轉換成整數” 很多人看到這麼簡單的面試題目,都是大筆一揮,立馬寫下洋洋灑灑函式: int StringToInt(char* string){ int num = 0; while(*str
8. 字串轉整數(atoi)
實現 atoi,將字串轉為整數。 提示:仔細考慮所有輸入情況。如果你想挑戰自己,請不要看下面並自己考慮所有可能的輸入情況。 說明:這題解釋的比較模糊(即沒有指定輸入格式)。你得事先彙集所有的輸入情況。 atoi的要求: 這個函式需要丟棄之前的空白字元,直到找到第一