实现数字型字符串的加法运算
如输入字符串num1=”1234”, num2=”234”,输出”1468”;num1=”1234”, num2=”-234”,输出”1000”;可实现高精度运算
代码实现
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void
reverseStr(char* str)
{
int ii = 0;
int len = strlen(str);
char temp;
for (ii = 0; ii < len/2; ii++)
{
temp = str[len-1-ii];
str[len-1-ii] = str[ii];
str[ii] = temp;
}
return;
}
void
delFirststzero(char* str)
{
int is_neg = 0;
int len = strlen(str);
char* p_str = str + len - 1;
int ii = len - 1;
reverseStr(str);
if (*p_str == '-')
{
*p_str = 0;
is_neg = 1;
p_str--;
ii--;
}
for (; ii > 0; ii--)
{
if (*p_str != '0')
{
if (is_neg)
{
*(p_str+1) = '-';
}
break;
}
*p_str = 0;
p_str--;
}
reverseStr(str);
return;
}
void
add(const char* num1,