Lesson 3 Assignment
重要提示: 這課題要求學生掌握讓使用者自行輸入數值,用以進行不同的工作。
Assignment(1)
Write a C program for calculation of a rectangle. The output is as follow:
以上的3及4是由使用者自行輸入的,使用者可以輸入其他數值,也應該可以正確計算出長方形(rectangle)的面積。
建議答案:
說明:
1. 由於要讓使用者自行輸入長度及高度,因此需要使用變量(variable)來貯存。
2. 使用變量要先進行宣告(declaration),方法如下:
int len; (宣告變數)
len=1; (賦值予這變數)
int 代表這個變數的格式,int是integer(整數)的意思,len 是這個變數的名稱。len=1; 代表把1這個數值給予len這個變數。
3. 由於之後會讓使用者輸入數值,所以可以省略不用賦值。
4. 要讓使用者輸入數值,然後貯存於指定變數的話,要使用以下指令:
scanf("%d",&len);
"%d" 代表這個變數的格式是整數。&len代表輸入後把數值賦予給len這個名稱的變數。
------------------------------------------------------------------------------------------------------
Assignment(2)
Write a C program for calculation of a triangle. The output is as follow:
這題目跟上一題很相似,祇是三角形的公式不同吧了。
建議答案如下:
說明: 以上的輸出答案是正確的。
但看看以下的輸出,程式沒變,但輸出卻不對。因為3x5/2,應是7.5,而不是7。
說明: 出現以上現象的原因是 %d是整數格式,7.5不是整數,是小數(浮點數),系統會自動刪除小點後的數字。如要輸出完整的小數值,要更%d成%f才成。%f 是浮點數(即具小數位的數字)(floating number)。
但如更改成以下的話,仍是錯誤的。
說明: 因為要正確使用printf()輸出浮點數的話,後面的值必須一定要是浮點數才可以,但預設情況下,/ 不會輸出小數,即15/2的結果是7,而不是7.5。
要正確輸出的話,要加一個浮點格式的變數才可以。如下:
說明:
1. 第6行,設定多一個浮點(float)的變數,名稱是area。
2. 第11行,先計算面積,把結果貯存於area這個變數內。
3. 第12行,使用printf()時,輸出area這個變數的值。由於area的值一定是浮點數,因此跟前面的 %f便一致了。
問題: 哪如何一開始把height及base設成浮點變數,那是不是可以直接輸出公式,而不需要使用多一個area變數?
--------------------------------------------------------------------------------------------------------
Assignment(3)
Write a C program for calculation of a circle. The output is as follow:
Hint: Since the value of pi is 3.14,it is not an integer, you must use floating number.
這題目原來較輸出三角形更簡單,如下:
說明:
1. 因為pi的值是3.14,本來便是浮點數,因此直接列出圓形面積公式便可以。







沒有留言:
張貼留言