Re: [問題] C語言如何判斷最大值
※ 引述《umi74 (Kick-Ass)》之銘言:
: 剛學C語言 遇到滿多困難 有請高手幫忙一下@@
: 輸入N筆資料 0=<N<=10 的總和 可是我只能一次打10個
: 不然會出現錯誤 請問怎麼解決呢 附上我的原始碼
: int a,b,c,d,e,f,g,h,i,j,x;
: scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",&a,&b,&c,&d,&e,&f,&g,&h,&i,&j);
: x=a+b+c+d+e+f+g+h+i+j;
: printf("總和=%d",x);
: 還有怎麼找這10個數字的最大值呢 @@
: 有規定這10個數不能大於100
給貓用不負責教學
01 #include <stdio.h>
02 #include <stdlib.h>
03
04 int main()
05 {
06 int i = 0,
07 j = 0,
08 k = 0,
09 l = 0,
10 m = 0;
11
12 printf("請輸入要幾組數字:");
13 scanf("%d", &i);
14 for(j = 1; j <= i; j++)
15 {
16 Keyin:
17 printf("請輸入第%d組數字:", j);
18 scanf("%d", &k);
19 if(k >= 100)
20 {
21 printf("誰叫你輸入大於100的數字呀,給我重來\n");
22 goto Keyin;
23 }
24 if(k > l)
26 {
27 l = k;
28 }
29 m = m + k;
30
31 }
32 printf("\n請輸入數字總和:%d\n", m);
33 printf("請輸入數字最大為:%d", l);
34 return 0;
35 }
結果 http://thumbsnap.com/HcSF6Um3
06~10 為變數宣告,這不用說明吧
12 顯示訊息
13 取得鍵盤輸入的資料i
14 以鍵盤取得的資料i 來與j 變數比較,如果j的數字等於所輸入的變數
則跳出回圈
16和22這兩行是一組的,學校老師最痛恨的東西,至於為什麼痛恨,很多老師根本說不清楚,
大概是他的老師也痛恨所以他跟著痛恨吧(不過如果發展過中大型程式的就知道)
19~23 是判斷輸入的數字是不是大於等於100,如果是強制跳回16行開始執行
24~28 判斷所輸入的數字是不是比L 大,是的話把數字放入L。而L 一開始為0
29 做累加計算
32~33 顯示累加結果和L 的數字
上面的程式如果你要背下來應付考試不是不行
但試著理解會比較好一點,程式是有邏輯性可以用流程歸納出來
除了goto可能沒學過外,剩下的應該都已經學到了(11月了差不多)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.119.110
推
10/31 22:28, , 1F
10/31 22:28, 1F
→
10/31 22:29, , 2F
10/31 22:29, 2F
→
10/31 22:39, , 3F
10/31 22:39, 3F
→
10/31 22:40, , 4F
10/31 22:40, 4F
→
10/31 22:41, , 5F
10/31 22:41, 5F
→
10/31 22:41, , 6F
10/31 22:41, 6F
→
10/31 22:43, , 7F
10/31 22:43, 7F
→
10/31 22:44, , 8F
10/31 22:44, 8F
→
10/31 22:45, , 9F
10/31 22:45, 9F
→
10/31 22:45, , 10F
10/31 22:45, 10F
→
10/31 22:53, , 11F
10/31 22:53, 11F
→
10/31 23:20, , 12F
10/31 23:20, 12F
推
10/31 23:57, , 13F
10/31 23:57, 13F
→
10/31 23:57, , 14F
10/31 23:57, 14F
→
10/31 23:58, , 15F
10/31 23:58, 15F
→
10/31 23:58, , 16F
10/31 23:58, 16F
→
11/01 00:17, , 17F
11/01 00:17, 17F
推
11/01 00:24, , 18F
11/01 00:24, 18F
→
11/01 00:25, , 19F
11/01 00:25, 19F
→
11/01 00:37, , 20F
11/01 00:37, 20F
→
11/01 01:11, , 21F
11/01 01:11, 21F
→
11/01 01:12, , 22F
11/01 01:12, 22F
→
11/01 01:14, , 23F
11/01 01:14, 23F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 3 篇):