第六周作
題目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.實驗代碼
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/
##表格和折線圖
第六周作