第六周作业
一、PTA作业
题目7-1 高速公路超速处罚
1.实验代码
#include <stdio.h> int main() { int m,n; double a; scanf("%d %d",&m,&n); a=(double)(m-n)*100/(double)n; if(a<10||m<n) printf("OK"); else if(a<50) printf("Exceed %.0f%%. Ticket 200",a); else printf("Exceed %.0f%%. License Revoked",a); return 0; }
2 设计思路
(1)文字描述
第一步:理解题意 情况分为三类:第一类为正常情况下车速小于10%*限速;第二类为超速10%~50%之间罚款200元;第三类为超速50%或50%以上吊销驾驶证
第二步:打出框架 并将三类情况分别列出
第三步:编译运行
(2)流程图
3.本题调试过程碰到问题及解决办法
错误提示的截图
问题及解决办法:第一个运行结果和第三个运行结果都是对的 试了很多次第二次运行结果都是错误的,通过问同学得知if中是不可以参与运算的,而且审题有误,所以在重新审题后运行正确。
4.本题PTA提交列表
错误提示解释说明:我理解的和题意不符,所以并不正确。提交时显示为全部错误,更正后没有问题。
题目7-2 计算邮费
1.实验代码
#include <stdio.h> int main() { int a,b; char c; double m; scanf("%d %d %c",&a,&b,&c); switch(b) { case 90: m=a*6.95;break; case 93: m=a*7.44;break; case 97: m=a*7.93;break; default: break; } if(c=='m') m=m*0.95; if(c=='e') m=m*0.97; printf("%.2f\n",m); return 0; }
2 设计思路
1)文字描述
第一步:理解题意 三种汽油 两种服务 两种折扣
第二步:打出框架 运用switch进行分类讨论 任选一种汽油并任一服务和折扣 注意运算结果保存两位小数
第三步:编译运行
(2)流程图
3.本题调试过程碰到问题及解决办法
错误提示的截图
问题及解决办法:在本题中 首先是定义变量类型时a应该为整形,而我定义为了double型,并且写double型时后面写成了f%,其实应该为lf%,这个是忽略了,审题后发现错误。
4.本题PTA提交列表
在devc++中是正确的,而在pta中是错误的原因是输出是的要求错误,多了一个money。在提交多次后发现了错误。
题目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=c; c=a; a=t;} if(b>c){ t=c; c=b; b=t;} printf("%d->%d->%d",a,b,c); return 0; }
2 设计思路
1)文字描述
第一步:看到比较大小想到替换 三个数比较大小 要用第四个变量替换
第二步:定义四个变量进行替换 分成三部分 一个一个比较
第三步:编译运行
(2)流程图
3.本题调试过程碰到问题及解决办法
错误提示的截图
问题及解决办法:由于这道题在课堂上做过的 按理来说不应该出现错误,但是太过马虎 不小心在if后忘记了‘{}’而且应为a>b,a>c,b>c,把‘>’和‘<’弄反了。
4.本题PTA提交列表
在devc++中改过后并没有错误,对于老师说提交列表只有一次的扣分 我也不是很理解!尤其是这种课堂上做过的题。
题目7-4 两个数的简单计算器
1.实验代码
#include <stdio.h> int main (){ int a,b; char op; scanf("%d %c %d",&a,&op,&b); switch(op) { case '+': printf("%d",a+b);break; case '-': printf("%d",a-b);break; case '*': printf("%d",a*b);break; case '/': if(b!=0) printf("%d",a/b);break; case '%': if(b!=0) printf("%d",a%b);break; default: printf("ERROR"); } return 0; }
2 设计思路
1)文字描述
第一步:理解题意 需要运算两个数组的多种不同运算 分情况讨论 分出+,-,*,/和%。
第二步:用switch框架来进行分类。
第三步:编译运行
(2)流程图
3.本题调试过程碰到问题及解决办法
错误提示的截图
问题及解决办法:一直是部分正确,无论怎么找,最后在老师的帮助下发现c%写成了C%,但是在c++中没有报错。
4.本题PTA提交列表
由于那个c%的错误让我试了很多遍 也改了很多次,也有加了条件后改的。
要求三
git地址:
截图
要求四
个人总结
(1)本周你学习了哪些内容?收获了什么?
答;本周复习了 if else 讲了流程图的注意事项 学习了switch结构,收获了一种新的结构,更开拓了打代码的视野。
(2)本周所学内容中你觉得哪些是难点?有哪些知识点还不明白?
答:我认为流程图的画法是一个难点,不明白的知识点是switch的流程图画不明白。
(3)你对目前老师的上课形式有什么意见或建议?
希望对写作业的时间做出调整,有同学已经提出过。但这周是有些赶。大一毕竟要参加各种活动比如这个星期的红歌比赛,个人觉得这周作业量较大。
要求五
互评和学习进度
1、点评3个同学的本周作业:
何宗彦:
透光玻璃:
魏鹏:
2、折线图
表格
代码行数 | 时间 | 博客字数 | 时间 | |
11.05 | 25 | 45min | 200 | 45min |
11.06 | 60 | 120min | 400 | 90min |
11.07 | 34 | 30min | 200 | 90min |
涉及的知识点:if-else的嵌套结构;
switch的练习。