美文网首页
C语言处理字符串整数转换

C语言处理字符串整数转换

作者: Ethan_Walker | 来源:发表于2018-10-02 16:42 被阅读4次
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int count(int n);
char* itoaa(int n);
void reverse(char *s, int length);
int atoii(char *s);
int _pow(int base, int n);

int main()
{
        // 整数转字符串
    int n;
    scanf_s("%d", &n);
    char *s = itoaa(n);
    printf("%s\n", s);

       // 字符串转整数
    char s[20] = {'\0'};
    scanf("%s",s);
    int num =  atoii(s);
    printf("%d\n", num);
    system("pause");

    return 0;
}

// 计算整数 n 的位数
int count(int n)
{
    int t = 0;
    do {
        n /= 10;  
        t++;
    } while (n > 0);
    return t;
}
// 整数转字符串
char* itoaa(int n)   // 1234 
{
    int num =count(n);
    char * chs = (char *)malloc(sizeof(char)*(num+1));
    int i = 0,t;
    do {
        t= n % 10;
        chs[i++] = t+'0';
        n /= 10;
    } while (n > 0);
    reverse(chs, num);// 逆转,将 4321 逆转成 1234
    chs[num] = '\0';
    return chs;
}
// 将字符数组 s 颠倒
void reverse(char *s,int length ) {
    int mid = length / 2;
    for (int i = 0; i < mid; i++) {
        char t = s[i];
        s[i] = s[length - i-1];
        s[length - i -1] = t;
    }
}

// 字符串转整数 "123242"
int atoii(char *s) {
    char *p = s;
    while (*p) { p++; }
    // *p == '\0'
    int sum = 0,t=0;
    p--;
    while (p >= s) {
        sum += ((*p - '0')* _pow(10, t));
        t++;
        p--;
    }
    return sum;
}
// 计算 base ^n 
int _pow(int base, int n) {
    int result = 1;
    while (n > 0) {
        result*=base;
        n--;
    }
    return result;
}

相关文章

  • C语言处理字符串整数转换

  • C语言库函数

    C语言库函数的原理: atoi:字符串转换为整形 (符号和空格的处理,异常的处理) itoa:整形转换为字符串(使...

  • C经典88案例 | 将字符串转换为一个整数

    1 题目 函数:fun()功能:将字符串转换为一个整数描述:【不能使用C语言提供的字符串函数】输入:字符串"-12...

  • 字符串转换整数

    题目信息 将字符串转换成一个 32 位有符号整数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ ...

  • C经典88案例(第一部分)

    案例ex01: 将字符串转换为一个整数 1 题目 函数:fun()功能:将字符串转换为一个整数描述:【不能使用C语...

  • C语言字符串处理函数

    C语言提供了丰富的字符串处理函数,例如字符串的输入、输出、合并、修改、比较、转换、复制、搜索等,使用这些现成的函数...

  • 6.PHP字符串

    字符串的处理介绍 字符串的处理方式 在C语言中字符串是作为字节数组处理的。在Java语言中字符串是作为对象处理的。...

  • 把字符串转换成整数-java

    把字符串转换成整数 题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串...

  • JZ-049-把字符串转换成整数

    把字符串转换成整数 题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串...

  • leetcode7. 整数反转 python实现

    题目: 解法: 这道题我们采用先将整数转换成字符串,对字符串反转,再将字符串转换回整数 。 具体代码如下:

网友评论

      本文标题:C语言处理字符串整数转换

      本文链接:https://www.haomeiwen.com/subject/ykkaoftx.html