題目
題目一:計算分段函數
1.實驗代碼
#include <stdio.h> int main() { double x,y; scanf("%lf",&x); if(x==0){ y=0; }else{ y=1/x; } printf("f(%.1lf) = %.1lf",x,y); return 0; }
2.設計思路
①算法
Begin
輸入(double)x
IF x=0 則 y=0 //計算y=f(x)=0 (x=0)
否則 y=1/x //計算y=f(x)=1/x (x≠0)
print x=y
end
②流程圖
3.本題未遇到問題
題目二:A除以B
1.實驗代碼
#include <stdio.h> int main() { int A,B; float C; scanf("%d %d",&A,&B); C=(float)A/B; if(B>0){ printf("%d/%d=%.2f",A,B,C); }else if(B==0){ printf("%d/%d=Error",A,B); }else{ printf("%d/(%d)=%.2f",A,B,C); }
return 0; }
2.設計思路
①算法
Begin
輸入 A,B
C=A/B //計算A÷B的值
IF B>0 則 print A/B=C
否則IF B=0 則 print A/B=Error
否則 print A/B=C
end
②流程圖
3.本題未遇到問題
題目三:階梯電價
1.實驗代碼
#include <stdio.h> int main() { int a; double b; scanf("%d",&a); if(a<0){ printf("Invalid Value!"); }else if(a>50){ b=50*0.53+(0.53+0.05)*(a-50.00);
}else{ b=a*0.53; }
printf("cost = %.2lf",b);
return 0; }
2.設計思路
①算法
Begin
輸入 a //a為用電量
IF a<0 則print Invalid Value! //用電量小於0時,為錯誤的值
否則 IF a>50 則 b=50*0.53+(0.53+0.05)*(a-50.00) //計算用電量大於50時,所花費金額
否則 b=a*0.53 //計算用電量大於等於0、小於50時,所花費金額
print cost=b
end
②流程圖
3.本題未遇到問題
題目四:出租車計價
1.實驗代碼
#include<stdio.h> int main() { int min,m; double k; scanf("%lf %d",&k,&min); if(min<5){ m=0; }else{ m=min*2/5; } if(k<=3){ m=10+m; }else if(k<=10){ m=10+(k-3)*2+m; }else{ m=10+14+(k-10)*3+m; } printf("%d",m); return 0; }
2.設計思路
①算法
Begin
輸入 (double)k,min
IF min>5 則 m=0 //臨時停車時間小於5min時,花費金額0元
否則 m=min*2/5 //臨時停車時間大於5min時,每5分鍾2元,取整
IF k<=3 則 m=10+m //3公里以下花費:10元,總金額為里程花費與停車花費之和
否則 IF k<=10 則m=10+(k-3)*2+m //10公里以下花費:10+(路程-3)×2元,總金額為里程花費與停車花費之和
否則 m=10+14+(k-10)*3+m //10公里以上花費:10+14+(路程-10)×2元,總金額為里程花費與停車花費之和
print m
end
②流程圖
3.問題截圖
解決方法:m不是浮點型變量,將m定義為整型變量,問題解決。
我的git地址:https://git.coding.net/dx200798/test.git
PTA題目完成情況
本周學習總結
本周學習內容:
①本周練習了IF語句,簡單學習了swith-case語句。
②學習了運算符&&與 || ,更加詳細得了解了運算符的優先級。
③學習了MOOC上的部分課程,並做了簡單練習。
注:經常不能對變量的類型做出准確定義,應該在這方面多做練習。
點評鏈接:
鏈接一:http://www.cnblogs.com/jsjyys/p/7709233.html
鏈接二:http://www.cnblogs.com/xmb1547828350/p/7719018.html
鏈接三:http://www.cnblogs.com/ryo-/p/7731894.html
圖表