hdu1002沒什麼難度就是一道大數加法運算,起初**wa了很多次是進製時,沒考慮清楚。後面有pe了,還是題目做的少。學長說位數不超過1000,要開2000的陣列,這點下次注意點。還有就是幾個特殊樣例:
0001 1000
0 0000 0000
9999 1
99900 00999
附上**:
#include
#include
#include
int len1;
int len2;
int lenmax;
void
transform
(char
*a,int
*num)
}void
jiafa
(int
*a,int
*b,int
*jie)
jie[lenmax]
=jinwei;
}int
main()
,num2[
2000]=
,jieguo[
2050]=
;transform
(a,num1)
;transform
(b,num2)
;jiafa
(num1,num2,jieguo)
;printf
("case %d:\n"
,i+1);
printf
("%s + %s = "
,a,b);if
(jieguo[lenmax]==0
)for
(j=lenmax;j>=
0;j--
)printf
("%d"
,jieguo[j]);
}else
if(i==t-1)
printf
("\n");
else
printf
("\n\n");
}return0;
}
大數加法 HDU 1002
一般的加法只要int型別的兩數直接相加即可,大一點的數可以設為long long型別,而超過長整型的數則屬於大數問題了,大數加法其實也比較簡單,利用陣列實現就可以啦 主要思想如下 1 將大數以字串形式輸入,並轉化為陣列形式倒序儲存 2 將兩陣列對應位相加,位數滿10進1 3 判斷最高位是否為0,輸出...
大數的加法 hdu1002
但我們在做運算時有時會遇到一些無法用基本資料型別儲存的數,這時我們可以通過字串儲存我們要輸入的數,再通過陣列模擬運算,然後用陣列儲存我們的答案。下面是具體 include include include include define n 1100 using namespace std void c...
hdu 1002大數加法
include includevoid daoxu int str,int n 定義乙個倒序陣列的函式,n為陣列中元素個數 void daoxu int str,int n else 找出最長數 for int i 0 i 0 j printf for maxline 0 maxline print...