#include <stdio.h>
#include "string.h"
void addChar(char a[],char ch)//往字符串前加一個字符ch
{
for(int i = (unsigned)strlen(a)+1; i>0; i--)
{
a[i] = a[i-1];
}
a[0] = ch;
}
int main(int argc, const char * argv[]) {
char a[100],b[100],c[100];
int len,lena,lenb,t=0,max;
printf("請輸入兩個整數(shù):");
scanf("%s%s",a,b);
lena = (unsigned)strlen(a);
lenb = (unsigned)strlen(b);
len = abs((lena-lenb));
max = lena > lenb ? lena : lenb;
for(int i = 0; i < len; i++)//將長度短的數(shù)前面補len個0
{
addChar((lena - lenb) > 0 ? b : a , '0');
}
for(int i = max-1; i >= 0; i--)//從后依次對應(yīng)相加
{
int temp = a[i] + b[i] - 96 + t;
c[i] = 48 + temp % 10;
t = temp / 10;
}
c[max] = '\0';
if(t)//如果第一位相加大于等于10則在前面補1
{
addChar(c, '1');
}
printf("\t%s\n",a);
printf(" + %s\n",b);
printf(" = %s\n",c);
return 0;
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者