博客作業01—分支、順序結構
1.本章學習總結
?1.1 思維導圖
?1.2本章學習體會及代碼量學習體會
?1.2.1學習體會
這周 對c語言的學習 明顯與其他同學相比較有些滯後,覺得很大原因是暑假沒有看教學視頻,課前沒有預習課本。
現在經過自己的自學以及老師的指導已經能跟上節奏了,感覺我們上課進度略微有點快,還沒教怎麽操作就直接做題了。
?1.2.2代碼累計
2.PTA總分
?2.1
? 2.2我的總分
順序結構:100
分支結構:125
總分:225
3.PTA實驗作業
?3.1PTA題目1
買U盤的那題 求可購買U盤的最大數量(當時死活算不出來)
?3.1.1算法分析
1.我是用double 定義活動的經費 funds
,U盤的單價price,int定義數量num
2.scanf輸入money和price的值,關鍵就是地址符& (有時候就會忘加)
3.計算num=funds/price,由於精度的偏差,需要在funds/price後面+0.000001進行計算
4.輸出num
?3.1.2代碼截屏
?3.1.3測試數據
/ | 輸入1 | 輸入2 | 輸出 |
---|---|---|---|
變量 | funds | price | num |
數據1 | 660.8 | 47.2 | 14 |
數據2 | 504.9 | 19.8 | 25 |
? 3.1.4PTA提交列表及說明
Q1:不知道輸入格式空格也有誤差,題目中運算符號兩邊都有空格
A1:經過請教學長,才得知此誤差在於空格並加了上去
Q2:對於printf()中 , 後面的字母有點不解??
A1:原來是定義的變量 ??
? 3.2PTA作業2
計算天數 要求編寫程序計算某年某月某日是該年中的第幾天。
? 3.2.1算法分析
1.需要用到for 循環語句,使月份的轉換和輸出是一個重復的操作
2.並且需要用到switch語句,它可以處理多分支問題,這道題 分為一般的三種情況,所以用兩個break 分開
3.二月比較特殊,因為閏年和非閏年不一樣,所以用if else語句將其進行篩選
4.輸入年/月/日
5.switch,break,break進行分類,case1、3、5....12,case 4、6、9、11
6.if else語句判別是否閏年
7.輸出days
? 3.2.2代碼截屏
? 3.2.3測試數據
/ | 輸入樣例1 | 輸入樣例2 | 輸出樣例1 | 輸出樣例2 |
---|---|---|---|---|
數據 | 2009/03/02 | 2000/03/02 | 61 | 62 |
?3.2.4PTA提交列表及說明
Q1:不知道 要用switch 語句做
A1:後面知道要用switch語句才能解決這種多分支問題了??
Q2:但是後面 用了之後還是有一些小錯誤,例如忘記加地址符等
A1:語句用對了,但還是 不夠細心,後面仔細檢查; 和空格等細節後,終於滿分了 ??
? 3.3PTA題目3
輸出三角形面積和周長
? 3.3.1算法分析
1.要用到函數math.h
2.用int定義 a,b,c;double定義面積和周長和s
3.輸入三個整數,用if else語句判別 是否能夠構成三角形
4.公式中用到sqrt求出area的值:area=sqrt(s(s-a)(s-b)*(s-c))
5.如果符合條件則用公式計算出並輸出結果,輸出結果保留兩位小數所以用%.2f
? 3.3.2代碼截屏
? 3.3.3測試數據
/ | 三邊 | 輸出數據 |
---|---|---|
數據1 | 5 5 3 | area = 7.15;perimeter = 13.00 |
數據2 | 1 4 1 | These sides do not correspond to a valid triangle |
?3.3.4PTA提交列表及說明
Q1:首先,這是我做到最多次的一道題,最開始不知道要加math.h這個函數
A1:後面看書上有寫這種用到數學公式運算的要引入math.h函數
Q2:這次 地址符都記得加了,但是一直顯示編輯錯誤 ??
A1:原來是邏輯運算符沒用對,後面加上去就滿分了 ??
4.點評同學博客
評論 1
評論 2
評論 3
評論 4
評論5
以上是我對這一周學習內容的總結以及分析,同學們可以在評論區說出我的好處以及我的不足之處,大家一起學習 ??
博客作業01—分支、順序結構