先講一種錯誤的做法:wa了n次,大神一定幫我看一下//看到有說陣列大小開到250,我改了之後還是不//思路是將arr這個陣列的每一行附上輸入的值,然後求每列所有數之和,當然進製
//maxlen記錄這個二維陣列的有用就是可以加的長度列數,row用來記錄行數,那就不用遍歷二維陣列所有行列#include#include#includeint main()
row++;//row記錄行數
if(maxlen(247-maxlen);column--)//從最後一列開始加
我沒用這個方法,我把遍歷範圍放的盡量大,但是最多進兩位,所以247-maxlen應該是合理的了,還是不行,我開到遍歷完每一列,也不行,求解?
第二種方法:
始終保持乙個fin陣列用來放結果,每次的輸入放在input中,memset下fin為0,將input陣列從右往左,分別加到fin的第乙個,第二個..元素,搜獲到的技巧:
for(i=len-1,j=0;i>=0;i--,j++)
for迴圈上寫兩個變數的初值及變化,增加可讀性
#include#include#include
intmain()
;
intlen,temp,i,j;
while(scanf("
%s",input)!=eof)
//迴圈結束後,j++此時為finde下乙個待決定位
//處理字串讀完,但是仍有進製的情況
while(temp>0
)
}i=103
;//倒序輸出,去掉前導0,fin裡面可能全是0,i此時為-1,輸出0
while(fin[i]==0
)//000+00
if(i<0
) printf(
"%d\n
",0);
else
printf("\n
");}
return0;
}
總結:這題坑在000+00,999+1
收穫:int 陣列,將第乙個以int a[5]=,可將第乙個元素賦為0,其餘元素為0
char就不行,應該是編譯器決定的,所以gcc最好memset,但是以上都僅限scanf
如果用賦值,最好memset
第三種:看不懂
UVa 424 整數查詢 poj 1503
思路 就是按照白書上的定義結構體bign及相關操作。本來打算精簡的,後來發現這個已經挺精簡的了。注意 自己需要注意的 string.h和string標頭檔案是不一樣的。sprintf.h在stdio.h裡而不是string.h裡。交 時出現的紅色波浪線好像是瀏覽器的原因,不影響交題。還有,while...
1005 大數加法
1005 大數加法 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 題目位址 給出2個大整數a,b,計算a b的結果。input 第1行 大數a 第2行 大數b a,b的長度 10000 需注意 a b有可能為負數 output 輸出a binput示例 68932147...
1005 大數加法
給出2個大整數a,b,計算a b的結果。input 第1行 大數a 第2行 大數b a,b的長度 10000 需注意 a b有可能為負數 output 輸出a binput示例 68932147586 468711654886output示例 537643802472 include include...