【经典算法】:字符串转换为int型

前提

给大家要说的是,这里的字符串只能是一串数字,而不能是abc这种

然后说说做的思路

比如字符9在ASCII码表里的值为:39
而字符0在ASCII码表里的值为:0
所以用’9’-‘0’就得到了字符’9’对应的真实数字9
以上为原理1

然后说下a b c d e组成一个五位数类似于这种数如何获取其数值
方法是如下:
做一次遍历,每次加上新进来的一个数,然后用得到的和*10,逐步遍历到最后就能获得真正的数值
以上为原理2
可能会有部分朋友认为原理2难以理解,请看代码就好~

代码

// 输入字符串345,输出int型345
#include <iostream>
using namespace std;
int main(){
    char s[20];
    cin>>s;
    int count=0;              //用count存储字符串数值
    for(int i=0;i<strlen(s);i++){
        count*=10;
        count+=(s[i]-'0');
    }
    cout<<count<<endl;
}

代码超级简单,也许有些朋友不需要看原理就能看懂代码,这里谢谢大家的支持~

你可能感兴趣的:(算法,遍历,C语言,Class,ASCII)