第六周作业
(一)题目7-1 高速公路超速处罚
1.实验代码
#include<stdio.h> int main() { int a,b; double z; scanf("%d %d",&a,&b); z=(a-b)*100.0/b; if(z<10) printf("OK"); else if(z<50) printf("Exceed %.0f%%. Ticket 200",z); else printf("Exceed %.0f%%. License Revoked",z); return 0; }
2.设计思路
(1)题目算法
第一步:定义整数型变量a和b,a为车速,b为限速;浮点型变量z,z为超速百分比
第二步:输入公式z=(a-b)*100.0/b
第三步:用if else写出z<10、z<50时输出的结果分别为“OK”、“Exceed %.0f%%. Ticket 200”以及"Exceed %.0f%%. License Revoked"
(2)流程图
3.本题调试过程遇到的问题及解决办法
遇到的问题:编译 没有错误,但是运行的结果和PTA中给出的结果不一致
解决方法:最后
4.本题PTA提交列表
这道题出现错误很多次,一开始是没读懂题导致错误,后来明白z应该为超速的百分比,又经过多次改正,才得到正确的代码
(二)题目7-2计算油费
1.实验代码
#include<stdio.h> int main() { int a,b; char c; double x; scanf("%d %d %c",&a,&b,&c); if(b==90) { if(c=='m')x=6.95*0.95*a; else x=6.95*0.97*a; } if(b==93) { if(c=='m') x=7.44*0.95*a; else x=7.44*0.97*a; } if(b=97) { if(c=='m')x=7.93*0.95*a; else x=7.93*0.97*a; } printf("%.2f\n",x); return 0; }
2.设计思路
(1)题目算法
第一步:定义整数型变量加油量a,汽油品种b(90、93或97);定义字符型变量c(m-自助,e-协助);以及浮点型变量x,x为付款金额
第二步:列出计算公式,当服务类型是e和m时,分别输出b=90、b=93、b=97时的x值
第三步:注意题目中要求保留两位小数
第四步:输出结果
(2)流程图
3.本题调试过程遇到的问题及解决办法
遇到的问题:编译时出现错误
解决方法:询问同学,得知c==m外应该用单引号
4.本题PTA提交列表
一开始将浮点型变量定义错误,所以导致编译错误,然后就是和dev里面出现一样的错误,忘记加单引号,部分正确那里是最后一个计算公式写错后来改正
(三)题目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=a; a=c; c=t;} if (b>c){ t=b; b=c; c=t;} printf("%d->%d->%d",a,b,c); return 0; }
2.设计思路
(1)题目算法
第一步:输入三个整数型变量a、b、c
第二步:将这三个数两两比较,并且用第四个变量t替换
第三步:输出结果
(2)流程图
3.本题调试过程遇到的问题及解决办法
这道题在课堂上老师讲过,所以没有出现问题
4.本题PTA提交列表
编译错误为符号分号打错,后来重新打终于正确
(四)题目7-4两个数的简单计算器
1.实验代码
#include <stdio.h> int main() { int a,b; char x; scanf("%d %c %d",&a,&x,&b); switch (x) { 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\n");break; } return 0; }
2.设计思路
(1)题目算法
第一步:定义整数型变量a、b;定义字符型变量x
第二步:运用switch语句执行
第三步:写出题目中所给的printf需要输出内容
(2)流程图
3.本题调试过程遇到的问题及解决办法
遇到的问题:编译没有错误,但是运行结果出错
解决方法:参考别的同学的代码,发现char则应该定义%c
正确截图
4.本题PTA提交列表
由于switch那里没有加大括号导致编译错误
要求三
上传git地址:https://git.coding.net/sunmeiling/sunmeiling.git
截图:
要求四
本周总结
(1)本周你学习了哪些内容?收获了什么?
本周复习了if else,并且学习了比较大小与交换变量,学习了循环结构,switch的用法,运用if else打代码时,下一行需要进行缩进,学习了流程图的画法与while与do while的循环结构
(2)本周所学内容中你觉得哪些是难点?有哪些知识点还不明白?
我觉得switch是难点,并且我不太会做流程图,知识点都能听明白,但是打代码的时候总是出错,不会运用到题目中
(3)你对目前老师的上课形式有什么意见或建议?
希望老师以后可以多带领我们复习
要求五
点评同学的博客:
孙娜:http://www.cnblogs.com/sun-na-/p/7788913.html
马宇欣:http://www.cnblogs.com/mayuxin/p/7792575.html
孙佳钰:http://www.cnblogs.com/woshisun/p/7795878.html
折线图
表格
时间 |
代码行数 |
代码时间 |
博客字数 |
博客时间 |
知识点 |
11.5 |
50 |
30min |
100 |
30min |
复习If else |
11.6 |
35 |
20min |
50 |
15min |
Switch语句 |
11.7 |
40 |
30min |
80 |
25min |
交换变量 |