看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《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
dondon0419:謝謝各位>< 就是這各 我在研究我看不懂那段怎改看的懂 08/05 20:26
loveme00835:還是不覺得 1 是合法輸入 08/05 20:30
x000032001:他說不包含本身 1~1又不包含本身 那答案應該是0 08/05 20:31
dondon0419:我也覺得他題目很奇怪...為啥輸入奇數卻不能包含他 08/05 20:33
loveme00835:這裡有兩個1喔~ 不包含的應該是右端點 08/05 20:36
loveme00835:我的概念是這樣啦 : 題目要求 [1,n) 內所有奇數和, 但 08/05 20:44
loveme00835:如果 n 為 1, [1,1) 這樣的東西根本不存在, 數學不好 08/05 20:45
loveme00835:還請見諒 08/05 20:45
loveflames:所以是空集合啊(逃 08/05 20:49
loveme00835:雖然直覺是0, 這時候應該是丟 logic_error = = 08/05 21:01
LPH66:也不用到丟 logic_error 啦....那其實就是個空集合啊 08/05 21:50
LPH66:空集合的元素和(ie.empty sum)數學慣例就是定為0 08/05 21:51
LPH66:就如同空集合的元素積(empty product)定為 1 是一樣的道理 08/05 21:51
loveme00835:原來有定義這東西! 受教了m(_ _)m 08/05 22:38
ledia:trinary 可讀性也沒比較好, 怎麼這麼愛用 XD 08/06 10:53