1. 程式人生 > >第六周作業

第六周作業

精度 color 提交 總結 int www 調試 eight printf

要求二

題目7-1 高速公路超速處罰

1.實驗代碼

#include <stdio.h>
int main()
{
    int a,b;
    double x;
    scanf("%d %d",&a,&b);
    x=(a-b)*100.0/b;
    if (x<10)
        printf("OK");
    else if (x<50)
        printf("Exceed %.0f%%. Ticket 200",x);
    else
        printf("Exceed %.0f%%. License Revoked
",x); return 0; }

2.設計思路

第一步:定義整型變量a,b,並用精度更高的double定義x。

第二步:scanf輸入變量,打出x的計算公式。

第三步:條件語句判斷x,根據判斷輸出或執行下一步。

第四步:重復第三步。

第五步:輸出並結束。

流程圖:

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

問題1:思路有問題,我一開始是用超速比例的計算式去和規定的超速比例範圍進行比較。

技術分享

解決方法:咨詢同學後,重新整理了思路,先計算出超速比例再去和規定的超速比例範圍比較。

問題2:最後輸出少打了兩個空格,在編譯器中是正確的,在pta中是部分正確,不符合題意。

技術分享

解決方法:又讀了好幾遍題,提交了好幾次,最後在同學的幫助下找到了錯誤。

4.本題提交列表

技術分享技術分享

題目7-2 計算油費

1.實驗代碼

#include <stdio.h>
int main()
{
    int a,b;
    char c;
    double x;
    scanf("%d %d %c",&a,&b,&c);
    if(b==90)
    {
        if(c==m)
        x=6.95*0.95*a;
        else
        x=6.95*0.97*a;
    }
    else if(b==93)
    {
        if(c==m)
        x
=7.44*0.95*a; else x=7.44*0.97*a; } else { if(c==m) x=7.93*0.95*a; else x=7.93*0.97*a; } printf("%.2f\n",x); return 0; }

2.設計思路

第一步:定義整型變量a,b,char定義字符型變量c,double定義雙精度型變量x。

第二步:scanf輸入變量的值。

第三步:條件語句判斷是什麽種類汽油。

第四步:再用條件語句判斷是什麽服務類型。

第五步:根據判斷結果進行相應的運算。

第六步:輸出並結束。

流程圖:

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

此題沒有遇到問題。

4.本題提交列表

技術分享

題目7-3 比較大小

1.實驗代碼

#include <stdio.h>
int main()
{
    int a,b,c,t;
    scanf("%d %d %d",&a,&b,&c);
    if(a>b){
        t=a;
        a=b;
        b=t;}
    if(a>c){
        t=a;
        a=c;
        c=t;}
    if(b>c){
        t=b;
        b=c;
        c=t;}
    printf("%d->%d->%d",a,b,c);
    return 0;
 } 

2.設計思路

第一步:定義整型變量a,b,c,t。

第二步:scanf輸入變量abc的值。

第三步:條件語句分別判斷ab,ac,bc的大小。

第四步:根據判斷結果交換變量的值。

第五步:根據題意輸出從小到大的順序並結束。

流程圖:

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

老師在課堂上講過本題,所以沒有問題。

4.本題提交列表

技術分享

題目7-4 兩個數的簡單計算器

1.實驗代碼

#include <stdio.h>  
int main()  
{  
    int num1,num2;  
    char ch;  
    scanf("%d %c %d",&num1,&ch,&num2);  
    switch(ch){  
      
        case +:  
             printf("%d",num1+num2);  
             break;  
        case -:  
             printf("%d",num1-num2);  
             break;  
               
        case *:  
             printf("%d",num1*num2);  
             break;  
               
        case /:  
             printf("%d",num1/num2);  
             break;  
        case %:  
             printf("%d",num1%num2);  
             break;
        default:  
            printf("ERROR");  
    }  
  
      
    return 0;  
           
}  

2.設計思路

第一步:定義整型變量num1,num2,char定義字符型變量ch。

第二步:scanf輸入變量的值。

第三步:通過switch開關控制語句執行運算。

第四步:根據運算結果輸出並結束。

流程圖:

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

問題:剛看到本題時思路不是很清晰。

解決方法:把題目復制到百度中搜索,思路和代碼就都出來了。

4.本題提交列表

技術分享

要求三

coding.net上傳文件截圖

技術分享

git地址:https://git.coding.net/yaoshuang/yaoshuang0.git

要求四

個人總結:

1.通過本周的學習,繼續強化了浮點數型變量、雙精度型變量的定義和條件語句,也學會了char定義字符型變量、變量之間的交換、switch開關控制語句。

2.個人覺得switch開關控制語句是本周的難點,並沒有完全理解,是我還沒學習透徹的知識點。

3.我很喜歡老師的上課形式,作業方面的建議已經在群裏提過了。

要求五

1.我點評的博客:

www.cnblogs.com/Mrtalent/p/7797606.html

2.表格及折線

題目 代碼行數 時間/min 博客字數 時間/min 涉及的知識點
7-1 15 40 100 50 double定義雙精度型變量
7-2 31 30 70 30 char定義字符型變量,double定義雙精度型變量
7-3 20 10 80 15 變量之間值的交換
7-4 33 50 90 70 switch開關控制語句

技術分享

第六周作業