Re: [問題] 用goto寫奇數和

看板C_and_CPP作者 (阿怪)時間14年前 (2010/08/05 07:39), 編輯推噓2(207)
留言9則, 7人參與, 最新討論串2/4 (看更多)
※ 引述《dondon0419 (東東)》之銘言: : 老師上課要我們用goto計算1到輸入數字內的所有奇數和 : 不過不包括輸入的那各奇數 : 像輸入3的話,奇數和是1(不包含3這各奇數) : 輸入4的話.奇數和4 : 上課弄了很久還是跑不出來 : 所以想請教高手幫各忙 : { : int x,sum=1; : scanf("%d",&x); : start: : if ( x % 2 =1 ) : sum = sum + x; : 寫到這邊就卡住了,不知道怎寫x讓他停止在加下去 void oddsum(){ int x; if(!(x%2)){ x--; printf("%d\n", ((x+2)*x+1)/4); }else{ printf("%d\n", ((x+2)*x+1)/4); } return; } 我不會用 goto -- 閑言碎語風涼話 將睡未醒事後菸 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 173.224.214.150

08/05 09:40, , 1F
何止不會用goto....
08/05 09:40, 1F

08/05 10:52, , 2F
x是個垃圾值
08/05 10:52, 2F

08/05 11:28, , 3F
x是參數吧 位置尷尬
08/05 11:28, 3F

08/05 12:00, , 4F
x要是參數的那種舊式寫法的話, int x應該在 { 前吧?_?
08/05 12:00, 4F

08/05 13:05, , 5F
樓上說的是K&R的經典用法吧XD
08/05 13:05, 5F

08/05 13:06, , 6F
然後把if跟else對調可以少做一次 !運算
08/05 13:06, 6F

08/05 14:13, , 7F
樓上說得不見得,現在compiler的加速很厲害.我猜兩個
08/05 14:13, 7F

08/05 14:14, , 8F
寫法效能該是一樣.該考慮的是可讀性
08/05 14:14, 8F

08/05 17:33, , 9F
啊....我本來想寫 oddsum(int x)
08/05 17:33, 9F
文章代碼(AID): #1CMVegbo (C_and_CPP)
文章代碼(AID): #1CMVegbo (C_and_CPP)