函数之字符串转数字

【问题描述】

编写函数 int strtoint(char s[]),该函数的功能时将字符串s中的的数字字符组成一个整数,返回。

例如字符串s为:ab12gh  fj5k6,其中的数字字符可以组成整数1256,则返回1256。

主函数:

#include

#include

int main() {

    int strtoint(char s[]);

    char str[1000];

    int k;

    gets(str);

    k = strtoint(str);

    printf("%d", k);

    return 0;

}

 int strtoint(char s[ ]);

#include 
int strtoint(char s[]) {
    char s1[1000];
    char *p = s1;
    int n;
    for (int i = 0; *(s + i) != '\0'; i++) {
        if (*(s + i) >= '0' && *(s + i) <= '9') {
            *p = *(s + i);
            p++;
        }
    }
    *p = '\0';
    n = atoi(s1);
    return n;
}

将字符串转换成整数的函数atoi()的实现:

int atoi(const char* str)
{
    int num = 0;
    int i = 0;
    int n = strlen(str);
    while(i

你可能感兴趣的:(编程基础,算法,蓝桥杯,c++,c语言)