学堂 学堂 学堂公众号手机端

字符串转整数(纯C语言)-考虑负数情况

lewis 3年前 (2022-01-13) 阅读数 7 #技术


字符串转整数

题解思路


输入字符串,通过​​strlen()​​函数可以得知字符串的长度从后往前得到每一个字符“数值”​​num[i] - '0'​​​,并且这个字符按位数的不同乘进制数​​sum += temp *(long long)pow(10,j);​​相加判断字符串的正负,通过​​if(num[0] == '-')​​分类讨论

代码演示:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main() {
// char num[20]={"123456123456123456"};
char num[20];
scanf("%s",num);
long long sum = 0;
int n = strlen(num);
int i = n-1,j=0;
if(num[0] == '-'){
for(j=0;i>0;i--,j++){
int temp = num[i] - '0';
sum += temp *(long long)pow(10,j);
printf("%lld\n",sum);
}
printf("sum=%lld",sum*(-1));
}else{
for(j=0;i>=0;i--,j++){
int temp = num[i] - '0';
sum += temp *(long long)pow(10,j);
printf("%lld\n",sum);
}
printf("sum=%lld",sum);
}
return 0;
}


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门