(
六)練習
問題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
「應付款」;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 輸入...