C語言第一次作業


一、PTA實驗作業

題目1.溫度轉換

本題要求編寫程序,計算華氏溫度150°F對應的攝氏溫度。計算公式:C=5×(F−32)/9,式中:C表示攝氏溫度,F表示華氏溫度,輸出數據要求為整型。
輸入格式:

本題目沒有輸入。

輸出格式:

按照下列格式輸出

fahr = 150, celsius = 計算所得攝氏溫度的整數值

1.實驗代碼

int celsius,fahr;
fahr = 150;
celsius = 5*(fahr-32)/9;
printf("fahr = 150, celsius = %d",celsius);

2.設計思路

  • 第一步:定義celsius,fahr倆個變量,分別表示攝氏溫度和華氏溫度
  • 第二步:將150賦值給fahr
  • 第三步:運用表達式celsius=5*(fahr-32)/9計算出celsius的值
  • 第四步:輸出fahr和celsius的值

3.本題調試過程中碰到的問題及解決辦法

1.格式錯誤
錯誤原因:沒有完全按照題目輸出結果,忽略了等號左右的空格
解決辦法:將題目輸出與自己的仔細對比發現了空格問題
2 答案錯誤
題目要求輸出:fahr = 150, celsius = 計算所得攝氏溫度的整數值
而我的代碼為:printf("fahr = 150,celsius =%d",fahr,celsius);
錯誤原因:慣性思維printf里面出現的變量就在后面表示出來,導致輸出結果為fahr = 150,celsius = 150 因為此時%d對應的是fahr

題目2.將x的平方賦值給y

假設x的值為3,計算x的平方並賦值給y,分別以“y = x ∗ x”和“x ∗ x = y”的形式輸出x和y的值。
輸入格式:

本題無輸入

輸出格式:

按照下列格式輸出代入x=3的結果:

y = x * x
x * x = y

1.實驗代碼

    int x,y;
x=3;
y=x*x;
printf("%d = %d * %d\n%d * %d = %d",y,x,x,x,x,y);

2.設計思路

  • 第一步:定義變量x,y
  • 第二步:將3賦值給x
  • 第三步:根據公式y=x*x計算出y的值
  • 第四步:按照題目要求輸出結果

3.本題調試時碰到的問題及解決方法

必須完全和題目要求的輸出輸出結果,一個%d對應一個變量,不能出錯,否則出現答案或是格式錯誤
忘記\n,而題目要求倆行輸出,導致結果錯誤
解決辦法

題目3.是不是太胖了

據說一個人的標准體重應該是其身高(單位:厘米)減去100、再乘以0.9所得到的公斤數。已知市斤是公斤的兩倍。現給定某人身高,請你計算其標准體重應該是多少?(順便也悄悄給自己算一下吧……)
輸入格式:

輸入第一行給出一個正整數H(100 < H ≤ 300),為某人身高。

輸出格式:

在一行中輸出對應的標准體重,單位為市斤,保留小數點后1位。

輸入樣例:

169
輸出樣例:

124.2

1.實驗代碼

   double H,weight;
scanf("%lf",&H);
weight=(H-100)*0.9*2;
printf("%.1f",weight);

2.設計思路

  • 第一步:定義浮點型變量H,weight,分別代表身高和體重
  • 第二步:輸入H的值
  • 第三步:根據公式weight=(H-100)0.92計算出weight的值
  • 第四步:輸出weight的值

3.本題調試時遇到的問題及解決辦法

問題:題目要求輸出的是124.2
我的錯誤輸出

解決辦法
發現輸出的位數與要求輸出的不同,通過課本例題得知應用%.nf形式,通過改變n改變輸入的位數,改正后

題目4.輸出各位數字

給定一個三位正整數,輸出其百位數字、十位數字及個位數字。
輸入格式:

直接輸入一個三位正整數,沒有其它任何附加字符。

輸出格式:

在一行中輸出所輸入正整數的各個位數字,各個數字之間用逗號間隔,沒有其它任何附加字符。

輸入樣例:

258
輸出樣例:

2,5,8

1.實驗代碼

int x,single,tens,hund;
scanf("%d",&x);
hund=x/100;
tens=(x-hund*100)/10;
single=x%10;
printf("%d,%d,%d",hund,tens,single);

2.設計思路

  • 第一步:定義變量x,single,tens,hund,分別表示三位數,個位數,十位數,百位數
  • 第二步:輸入x
  • 第三步:計算。x除以100得到百位數,x對10求余得到個位數,x減去百位數與100的乘積再除以10得到十位數字
  • 第四步:按格式輸出這3個數字

3.本題調試遇到的問題及解決方法

問題:如何通過合適的表達式求出這3個數字,尤其是求十位數字
解決方法:用到了整數除整數等於整數和求余這倆種運算

二、截圖本周題目集的PTA提交列表及最后排名

三、本周學習總結

1.你學會了什么?

1.認識函數頭,主函數,了解\n和return 0 的含義
2.運用scanf和printf語句實現輸入,輸出
3.學會調用數學函數
4.用double和float定義浮點型變量,以及浮點數在輸入輸出對應使用%lf,%f
5.%.nf通過n規定輸出時的小數點位數
6.了解順序結構,選擇結構,循環結構
7.簡單了解if-else語句,if else if語句,switch語句
8.什么是字符型數據,如何定義字符型變量,如何輸入輸出字符
9.=是賦值,是等於,a是變量,'a'是字符還有用、>、<、>= 、<= 、 !=表示關系式

2.本周的內容你還不會什么?

變量輸入要求了范圍,不知道如何在代碼中表示(用if語句判斷嗎?)

3.你碰到什么困難,打算如何解決?

知道算法怎么寫,但是轉化成代碼還是需要參考書本。還有通過PTA作業,發現省題不清,多次格式錯誤,答案錯誤,比如第一題的時候因為語言習慣多加了個.導致答案錯誤,系統提示錯誤理由:無話可說。。。。
我認為應該多多練習,提高寫代碼的能力,另外就是寫代碼時更加嚴謹,像格式錯誤和答案錯誤是可以避免的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM