C語言程序設計第二次作業——順序結構


一:改錯題
(1)輸出指定信息:
將給定源代碼輸入:

執行編譯命令:

錯誤信息1:

錯誤原因:英語單詞拼寫錯誤。
改正方法:stido--stdio。
錯誤信息2:

錯誤原因:缺少“;”。
改正方法:在printf(" Welcome\n")后加上“;”。
錯誤信息3:

錯誤原因:括號內缺少“””。
改正方法:在右括號前加上“””。
錯誤信息4:

錯誤原因:單詞拼寫錯誤。
改正方法:mian--main。
最終編譯運行:


(2)輸出指定信息:
將給定源代碼輸入:

執行編譯命令:

錯誤信息1:

錯誤原因:<>內缺少“.h”。
改正方法:在<>內加上“.h”。
錯誤信息2:

錯誤原因:源程序的多行注釋符缺少“/”
改正方法:將/改為//
錯誤信息3:


編譯無錯誤,但是運行不正確。
錯誤原因:第二個printf語句中缺少%。
改正方法:在d前加上%。
錯誤信息4:


編譯無錯誤,但是運行不正確。
錯誤原因:%d與后面變量個數不同。
改正方法:加上x,y。
錯誤信息5:


編譯無錯誤,但是運行不正確。
錯誤原因:x的初始值未設為3。
改正方法:將x初始值設為3。
錯誤信息6:


運行格式不太好。
錯誤原因:缺少\n。
改正方法:補充\n。
最終編譯運行:


二:學習總結
(1)根據所給源代碼求short型變量所占字節數:

運行結果:

(2)求int整型變量所占字節:

運行結果:

(3)求long 長整型變量所占字節數:

運行結果:

(4)求float浮點型變量所占字節:

運行結果:

(5)求double浮點型所占字節:

運行結果:

(二)求最大與最小值:
(1)int

(2)i+1

發現最大值與最小值相同,出現種情況是因為如果int整形變量超出最大值會導致溢出,所以又從最小值開始。
(3)j-1
發現最小值變得與最大值相等,所以當INT_MIN減去一個正數時,也會發生溢出現象。
(三)根據所給程序,輸入100 144 64:

運行:

因為:%o為八進制整數的輸入格式,%x為16進制整數的輸入格式,而在輸出語句,發現格式化輸出符號均為
十進制整數的輸出格式,所以這是導致上述運行結果的原因;
(4)對本章進行總結:
雖然這門課程才剛開始學,應該是比較簡單的,但感覺自己做起題來還是有點吃力,有些問題還是得問同學,
所以還得加強練習,只有足夠熟練才能做得夠好。
三:實驗總結
我的題號是1 3 5 9。
1
(1)本題要求編寫程序,計算4個整數的和與平均值。題目保證輸入與輸出均在整型范圍內。
(2)流程圖

(3)源代碼

#include <stdio.h>
int main()
{  
	    int a,b,c,d,Sum;

    double Average;

    scanf("%d %d %d %d",&a,&b,&c,&d);

    Sum = a+b+c+d;

    Average = (a+b+c+d)/4.0;

    printf("Sum = %d; Average = %.1f",Sum,Average);

    return 0;
} 

(4)測試數據及運行結果:
測試數據:1234
運行結果:

(5)實驗分析:
當變量不是整形時,不可用int,比如小數應用double型,保留一位小數應該是%.1f。
3
(1)是不是太胖了
據說一個人的標准體重應該是其身高(單位:厘米)減去100、再乘以0.9所得到的公斤數。已知市斤是公斤的兩倍。現給定某人身高,請你計算其標准體重應該是多少?(順便也悄悄給自己算一下吧……)
(2)流程圖

(3)源代碼

#include <stdio.h>
int main()
{
    int H;

    double W;

    scanf("%d",&H);

    W = (H-100)*0.9*2;

    printf("%.1f",W);

    return 0;
}

(4)測試數據及運行結果:
測試數據:123
運行結果:

(5)實驗分析:
市斤 公斤 斤的換算要弄清楚。
5
(1)計算物體自由下落的距離
一個物體從100米的高空自由落下。編寫程序,求它在前3秒內下落的垂直距離。設重力加速度為10米/秒2。
(2)流程圖

(3)源代碼

#include <stdio.h>
int main()
{
    double height;

    height = 1/2.0*10*3*3;

    printf("%.2f",height);

    return 0; 
}

(4)運行結果:

(5)實驗分析:
保留兩位小數用“%.2f”表示,1/2的結果不是0.5而是1,要想是結果不是整形應該用1/2.0。
9
(1)逆序的三位數
程序每次讀入一個正3位數,然后輸出按位逆序的數字。注意:當輸入的數字含有結尾的0時,輸出不應帶有前導的0。比如輸入700,輸出應該是7。
(2)流程圖

(3)源代碼

# include <stdio.h>
int main(void)
{
    int a,b,c,d,e;

    scanf("%d",&a);

    b = a/100;

    c = a%100/10;

    d = a%10;

    e = d*100+c*10+b;

    printf("%d",e);

    return 0;
}

(4)測試數據及運行結果:
測試數據:123
運行結果:

測試數據:700
運行結果:

(5)實驗分析:
當要求三位數的第幾位數時,要用求商/,求余%相結合的方法求。
四 PTA提交列表:
順序結構(1):

順序結構(2)


免責聲明!

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



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