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

第六周作

a* clas 5* printf 種類 賦值 nbsp str -s

題目7-1 高速公路超速處罰
1.實驗代碼

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

2 設計思路
(1)
第一步:定義三個變量車速 限速 車速超出限速的百分比。
第二步:輸入車速和限速 並計算出 車速超出限速的百分比。

第三步:利用算出的百分比進行判斷。第四步:如果百分比小於10那就輸出OK,如果大於10小於50就輸出百分比並需交200元錢,如果大於50就輸出吊銷駕駛證。

(2)流程圖

技術分享
3.本題調試過程碰到問題及解決辦法
錯誤提示的截圖:技術分享
遇到的問題以及解決方法:
scanf所輸出的變臉前邊沒有加“&”,並且百分比一直輸出不出來。

最後加上了& 然後定義一個float型的變量c 將計算出來的百分比賦值給c 最後成功
4.本題PTA提交列表技術分享


本題出現的錯誤多數為無法輸出百分比

題目7-2 計算油費
1.實驗代碼

#include <stdio.h>
int main() {
  float a,cost;
  int b;
  char c;
  scanf("%f %d %c",&a,&b,&c);
  if (c==‘m‘){
    switch(b){
     case 90:cost=a*6.95*0.95;break;
     case 93:cost=a*7.44*0.95;break;
     case 97:cost=a*7.93*0.95;break;
    }
    printf("%0.2f",cost);
  }
  else if (c==‘e‘){
    switch(b){
     case 90:cost =a*6.95*0.97;break;
     case 93:cost =a*7.44*0.97;break;
     case 97:cost =a*7.93*0.97;break;
   }
   printf("%0.2f",cost);
  }
 return 0; 
}


2 設計思路
(1)
第一步:定義油量a和油的種類b和服務方式c和花費cost
第二步:當服務類型為m時如果種類為90號花費cost=a*6.95*0.95,如果種類為93號花費cost=a*7.44*0.95,如果種類為97號花費cost=a*7.93*0.95.

第三步:當服務類型為e時如果種類為90號花費cost=a*6.95*0.97,如果種類為93號花費cost=a*7.44*0.97,如果種類為97號花費cost=a*7.93*0.97.

第四步:輸出花費cost
(2)流程圖
技術分享
3.本題調試過程碰到問題及解決辦法
錯誤提示的截圖。

技術分享
遇到的問題以及解決方法
遇到的問題是當b為90c為e時結果錯誤 解決辦法是重新定義變量將cost從float變成double
4.本題PTA提交列表

技術分享

本題錯誤在於所定義的花費cost不正確

題目7-3 比較大小
1.實驗代碼

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

2 設計思路
(1)
第一步:定義四個變量。
第二步:先比較a與b和c的大小關系,如果a>b將a賦值給d,將b賦值給a,將d賦值給b,如果a>c將a賦值給d,將c賦值給a,將d賦值給c。

第三步:比較b與c的大小關系,如果b>c將b賦值給b,將c賦值給b,將d賦值給c。

第四步:輸出大小關系

(2)流程圖

技術分享
3.本題調試過程碰到問題及解決辦法
錯誤提示的截圖:技術分享
遇到的問題以及解決方法:遇到問題是沒有讀清輸出格式的要求,錯誤的認為是大的在前小的在後,導致編程錯誤,解決辦法詢問同學發現輸出格式應該是讓小的在前。

4.本題PTA提交列表

技術分享

本題出現的錯誤是輸出格式沒弄懂導致編程錯誤

題目7-4 兩個數的簡單計算器
1.實驗代碼

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

2 設計思路
(1)
第一步:定義兩個數和符號。
第二步:編寫當符號分別為“+”,“-”,“*”,“/”,“%”時所進行的運算並且輸出。

第三步:當符號為其他符號是輸出ERROR

(2)流程圖

技術分享
3.本題調試過程碰到問題及解決辦法
錯誤提示的截圖:技術分享
遇到的問題以及解決方法:問題是忘記給case後邊的符號加上單引號了 , 解決辦法 檢查了幾次並詢問了同學。

4.本題PTA提交列表

技術分享

本題出現的錯誤是沒有給符號加上單引號

##上傳成功後coding.net項目的截圖:技術分享

##git地址訪:https://git.coding.net/liuzehua123/lzhjisuanji.git

學習的知識點:新的循環結構,我的收獲是學會了在編程中如何循環進行計算。

我覺得難點是 需要背很多結構的需要的單詞和格式,沒有知識點不明白。

對老師上課形式沒有意見。

點評同學的博客地址:

(1):http://www.cnblogs.com/shupeng521/

(2): http://www.cnblogs.com/100200a/

(3):http://www.cnblogs.com/z024108/

##表格和折線圖

技術分享

第六周作