選擇結構的程式設計(參考程式)

2022-02-12 07:44:00 字數 3707 閱讀 3801

(

六)練習

問題1:某商場為了對蘋果進行**,規定購買2千克以上可以在原價每千克1.5的基礎上打8折。請設計乙個程式計算購買x千克蘋果的應付款。

(1)分析問題: 設買蘋果的重量為x千克,應付款為y元,如果x>=2,則y=1.5*x*0.8,否則y=1.5*x。

(2)設計演算法: ①

輸入x的值

②如果x>=2,則y=1.5*x*0.8

③否則y=1.5*x

④輸出y的值

(3)編寫程式: private sub command1_click()

dim x as single

x=inputbox(

「請輸入購買蘋果的重量」)

if x>=2 then

y=1.5*x*0.8

else

y=1.5*x

end if

print

「應付款」;y;「元」

end sub

(4)調式程式

(七)多重選擇語句

問題2:輸入乙個成績,如果90分以上,則輸出「優秀」;80-89,則輸出「良好」;70-79,則輸出「中等」;60-69,則輸出「及格」;60分以下則輸出「不及格」,請編寫程式。

如果這道題使用if語句來編寫程式的話,程式如下:

private sub command_click()

x=inputbox(「

請輸入乙個分數」)

if x>=90 then print」

優秀」if x>=80 and x<89 then print」

良好」if x>=70 and x<79 then print」

中等」if x>=60 and x<69 then print」

及格」if x <60 then print」

不及格」

end sub

在程式2-4中,使用了5個if語句來處理5種情況。這樣的程式在可讀性和效率方面都是比較差的,如果再多一些情況,它的缺陷就會暴露得更加明顯,如何處理這個問題呢?

(1)多重選擇語句格式: 在vb語言中,設定了乙個處理多種情況的語句,稱為多重選擇語句,它的基本格式為:

select case

表示式case

表示式列表1

語句組1

case

表示式列表2

語句組2

…… case

表示式列表n

語句組n

case else

語句組n+1

end select

其中: 1、表示式和表示式列表可以是數值型或字元型,表示式列表還可以是多個用逗號分開的表示式。

2、表示式列表與表示式的型別必須相同。

3、表示式列表又稱值域,它有如下三種形式:

①表示式1,表示式2,……

②表示式1 to表示式i(i<=n)③is

關係表示式

(2)多重選擇語句的執行過程

多重選擇語句的執行過程是:

當表示式的值為表示式列表1時,執行語句組1;

當表示式的值為表示式列表2時,執行語句組2;

……當表示式的值為表示式列表n時,執行語句組n;

當表示式的值不是上述值時,執行語句組n+1;

有了多重選擇語句,對於多種情況的選擇問題,就可以利用它來解決。運用多重選擇語句編寫問題2的程式如下:

private sub command_click()

x=inputbox(「

請輸入學生成績」)

select case x

case is>=90

print」

優秀」case 80 to 89

print」

良好」case 70 to 79

print」

中等」case 60 to 69

print」

及格」case else

print」

不及格」

end select

end sub

(八)練習

問題3:我們把字元作如下的分類:大寫字母:a…z;小寫字母:a…z;數字:0…9;其它字元。編寫程式,根據上述分類的方法,輸入乙個字元,報告該字元所屬的型別。

三、編寫乙個

c程式,計算並顯示某人根據下列表示式確定的周薪:「如果工作時間小於或等於

40小時,那麼該職員將得到

8.00 元/

小時;否則,該職員將在

320.00

元的基礎上,對於超過

40小時的部分,再加上

12.00 元/

小時」。你所編寫的程式請求輸入工作時數,並將得到的薪水作為輸出結果顯示出來。

/*程式:

ls05ex03.c

*/ #include

void main()

四、編寫乙個

c程式,

求解ax2 + bx + c = 0

方程的根。

x1,x2

,如果方程沒根,輸出資訊「方程無實根!」。

思考並回答:你認為需要執行幾次所寫的程式才能確認它執行正常?在每次執行程式時,你輸入了哪些資料?

參考程式:

/*程式:

ls05ex04.c

求一元二次方程的根

*/ #include //

包括標準輸入輸出函式標頭檔案

#include //

包括數學方法標頭檔案

void main()

else//

方程無解

printf("

該方程無實根!

\n");

} 五、根據下表計算一下銷售人員的月收入

表銷售人員的月收入

月銷售額

收 入

大於或等於50,000美元

375美元,加上銷售額的

16%

小於50,000美元,但大於或等於40,000美元

350美元,加上銷售額的

14%

小於40,000美元,但大於或等於30,000美元

325美元,加上銷售額的

12%

小於30,000美元,但大於或等於20,000美元

300美元,加上銷售額的

9%

小於20,000美元,但大於或等於10,000美元

250美元,加上銷售額的

5%

小於10,000美元

200美元,加上銷售額的

3%

要求分別用

if-else

語句和switch-case

語句編寫

c程式,接受銷售人員的月銷售額,計算其月收入

[if-else 結構]

:/*程式:ls05ex05a.c */

#include //

包括標準輸入輸出標頭檔案

void main()//

主函式[

switch 結構]

:/*程式:ls05ex05b.c */

#include //

包括標準輸入輸出標頭檔案

void main()//

主函式//

輸出本月應付薪水

printf("

本月薪水為

$%.2lf.\n",pay);

}

選擇結構的程式設計(參考程式)

六 練習 問題1 某商場為了對蘋果進行 規定購買2千克以上可以在原價每千克1.5的基礎上打8折。請設計乙個程式計算購買x千克蘋果的應付款。1 分析問題 設買蘋果的重量為x千克,應付款為y元,如果x 2,則y 1.5 x 0.8,否則y 1.5 x。2 設計演算法 輸入x的值 如果x 2,則y 1.5...

選擇結構的程式設計

簡單的if語句 if 表示式 語句1if else語句 if 表示式 將他們括起來。語句 i 處也可以沒有語句,程式執行到此會自動向下順序執行。default 語句 一般出現在所有case 語句之後,也可以出現在case 語句之前或兩個case 語句之間。default 語句可以預設。break語句...

選擇結構程式設計

一 實驗目的 1 了解c語言表示邏輯量的方法 以0代表 假 以非0代表 真 2 學會正確使用邏輯運算子和邏輯表示式。3 熟練掌握if語句和switch語句。4 結合程式掌握一些簡單的演算法。二 實驗內容 1.有乙個函式用scanf函式輸入x的值 分別為x 1 1 10 10三種情況 求y值。2 輸入...