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

看板C_and_CPP作者 (咕啾咕啾魔法陣)時間15年前 (2010/08/05 12:23), 編輯推噓4(4011)
留言15則, 6人參與, 最新討論串4/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讓他停止在加下去 拿t大的程式來改 #include<stdio.h> #include<stdlib.h> int main() { int x,sum=0; scanf("%d",&x); printf("1~%d的奇數和",x); x=(x&1)?x-2:x-1; x=(x<0)?0:x; A: sum+=x; x-=2; if(x>0) goto A; printf("%d\n",sum); system("pause"); return 0; } -- C++ hello world標準寫法 http://nopaste.csie.org/fee97 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.134.240.7

08/05 20:26, , 1F
謝謝各位>< 就是這各 我在研究我看不懂那段怎改看的懂
08/05 20:26, 1F

08/05 20:30, , 2F
還是不覺得 1 是合法輸入
08/05 20:30, 2F

08/05 20:31, , 3F
他說不包含本身 1~1又不包含本身 那答案應該是0
08/05 20:31, 3F

08/05 20:33, , 4F
我也覺得他題目很奇怪...為啥輸入奇數卻不能包含他
08/05 20:33, 4F

08/05 20:36, , 5F
這裡有兩個1喔~ 不包含的應該是右端點
08/05 20:36, 5F

08/05 20:44, , 6F
我的概念是這樣啦 : 題目要求 [1,n) 內所有奇數和, 但
08/05 20:44, 6F

08/05 20:45, , 7F
如果 n 為 1, [1,1) 這樣的東西根本不存在, 數學不好
08/05 20:45, 7F

08/05 20:45, , 8F
還請見諒
08/05 20:45, 8F

08/05 20:49, , 9F
所以是空集合啊(逃
08/05 20:49, 9F

08/05 21:01, , 10F
雖然直覺是0, 這時候應該是丟 logic_error = =
08/05 21:01, 10F

08/05 21:50, , 11F
也不用到丟 logic_error 啦....那其實就是個空集合啊
08/05 21:50, 11F

08/05 21:51, , 12F
空集合的元素和(ie.empty sum)數學慣例就是定為0
08/05 21:51, 12F

08/05 21:51, , 13F
就如同空集合的元素積(empty product)定為 1 是一樣的道理
08/05 21:51, 13F

08/05 22:38, , 14F
原來有定義這東西! 受教了m(_ _)m
08/05 22:38, 14F

08/06 10:53, , 15F
trinary 可讀性也沒比較好, 怎麼這麼愛用 XD
08/06 10:53, 15F
文章代碼(AID): #1CMgrHJm (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):
文章代碼(AID): #1CMgrHJm (C_and_CPP)