Re: [問題] 大數加法的問題
:引述《Bermuda ( )》之銘言:
剛剛依照Ber大的方法做了一下
#include<stdio.h>
#include<string.h>
#define LEN 100
int main(void)
{
char cInput1[LEN];
char cInput2[LEN];
int iInput1[LEN];
int iInput2[LEN];
int iLength,iHelp;
int SUM[LEN];
int i;
//做第一組陣列
scanf("%s",cInput1);
iLength=strlen(cInput1);
for(iHelp=0;iHelp<LEN;iHelp++)
iInput1[iHelp]=0;
for(iHelp=1;iHelp<=iLength;iHelp++)
iInput1[LEN-iHelp]=(int)(cInput1[iLength-iHelp]-'0');
scanf("%s",cInput2);
iLength=strlen(cInput2);
for(iHelp=0;iHelp<LEN;iHelp++)
iInput2[iHelp]=0;
for(iHelp=1;iHelp<=iLength;iHelp++)
iInput2[LEN-iHelp]=(int)(cInput2[iLength-iHelp]-'0');
//做第二組陣列
for(iHelp=LEN-1;iHelp>=0;iHelp--)
{
SUM[iHelp]=SUM[iHelp]+iInput1[iHelp]+iInput2[iHelp]%10;
SUM[iHelp-1]=SUM[iHelp]+iInput1[iHelp]+iInput2[iHelp]/10;
}
//印出
for(i=0;i<100;i++)
{
printf("%d",SUM[i]);
}
system("PAUSE");
return 0;
}
印出來會很奇怪
只能算到進位
就計算不出來
且例如100+200會印出4444444...44444300
我印出部分好像怪怪的=..=
可是我想不出來哪裡怪=..=
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.21.235.246
※ 編輯: BlackZap 來自: 163.21.235.246 (06/18 14:05)
※ 編輯: BlackZap 來自: 163.21.235.246 (06/18 14:12)
→
06/18 14:18, , 1F
06/18 14:18, 1F
→
06/18 14:29, , 2F
06/18 14:29, 2F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章