C语言——第四次作业
题目
题目一:计算分段函数
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
图表