C写的大数加乘除法,中间有些细节没有处理,不过基本凑和用,算个初版本吧,刚用C不久不熟练啊
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void reverse(char *s)
{
int len = strlen(s);
int i, j;
char c;
for (i = 0, j = len - 1; i < j; i++, j--)
{
c = *(s + i);
*(s + i) = *(s + j);
*(s + j) = c;
}
}
char *removeHeadZero(char *s)
{
char *r;
while (*s++ == '0')
;
r = --s;
return r;
}
char *appendTailZero(char *s, int zeros)
{
int i, len = strlen(s);
char *r = malloc(len + zeros + 1);
for (i = 0; i < len; i++)
*(r + i) = *(s + i);
for (i = len; i < len + zeros; i++)
*(r + i) = '0';
*(r + len + zeros) = '\0';
return r;
}
char *add(char *s1, char *