要求二
一.PTA作业
(一)题目7-1 高速公路超速处罚
1.实验代码
#include <stdio.h> int main() { int x,y; double z; scanf("%d %d",&x,&y); z=(x-y)*100.0/y; 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)题目算法
第一步:查看输入格式以及输出格式。
第二步:理解题中(超出本车道限速的10%处200元罚款,若超出50%则吊销驾驶证)的意思。
第三步:列出公式(超速百分比*100=(车速-限速)*100/车速)。
第四步:利用if else 语句表达出结果。
if (超速百分比*100<10)则输出Ok;
else if (超速百分比*100<50)则输出Exceed z%.Ticket 200;
else 则输出Exceed z%.Licence Revoked。
(2)流程图
3.本题调试过程遇到的问题及解决办法
错误截图
遇到的问题
不知道怎样才能把带有百分号的数输出程序。
解决方法
经过上网翻找资料有了一下的总结,
要求一个数的百分比,可以先把被除数乘以100,这样得出的结果就是百分比前面的整数部分,
最后printf("%.0f%%",a)。
4 PTA提交列表
说明:出错点在于不知怎样输出%类型的数。
(二)7-2计算油费
1.实验代码
#include <stdio.h> int main() { double a,w; int b; char c; scanf("%lf%d %c",&a,&b,&c); if (c == 'm'){ switch(b){ case 90:w = a * 6.95 * 0.95;break; case 93:w = a * 7.44 * 0.95;break; case 97:w = a * 7.93 * 0.95;break; } printf("%.2f",w); } else if (c == 'e'){ switch(b){ case 90:w = a * 6.95 * 0.97;break; case 93:w = a * 7.44 * 0.97;break; case 97:w = a * 7.93 * 0.97;break; } printf("%.2f",w); } return 0; }
2.设计思路
(1)题目算法
第一步:审清题意,找出有关数据变量(加油量a,汽油品种b,以及服务类型c)。
第二步:输入应用公式(应付金额=加油量*(1-折扣百分比)*对应品种价格)。
第三步:因为题意中有输入字符的形式,所以利用swich语法计算本题。
例如 if (c==e)
swich(b){
case 90:w=a*0.95*6.95;break;
case 93:w=a*0.95*7.44:break;
case 97:w=a*0.95*7.93;break;
第四步:找好对应条件中对应公式输出w。
(2)流程图
3 本体调试过程中遇到的问题及解决方法
错误截图
遇到问题
提示中一直给出c=e,b=90时出现问题。
解决方法
一开始以为是程序错误后来把float换成double时就成功了。
查询截图
4.本题PTA提交列表
(三)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)题目解法
第一步:运用if else 语句。
第二步:共有三个变量凑出三队两两比较。
第三步:增加一个变量作为替换。
第四步:输出程序。
(2)流程图
3.遇到的问题及解决方法
因本题和老师上课所讲内容相同所以无错误。
4.本题PTA提交列表
(四)7-4两个数的简单计算器
1.实验代码
#include <stdio.h> 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)题目算法
第一步:找出变量的类型(‘char’为符号类型,‘int’为整形)。
第二步:运用switch语法链接。
如果输入(+ - * / % 就进行相应计算)否则输出ERROR。
(2)流程图
3 遇到的问题及解决方法
错误框图
遇到的问题:编译正确,但是打不出真负数。
解决方法:去掉(c=getcharr())就可以打成负数。
4.本题Pta提交列表
要求三
git地址
https://git.coding.net/hezongyan321/text.git
截图
要求四
本周学习内容:1复习了if-else嵌套语句。
2字符型数据(用char定义字符变量)。
3switch case结构可以处理多支选择问题。
4交换i两个变量的值(输入3个数,按重小到大排列)。
本周难点在于交换两个变量的值不过经过我的反复琢磨弄懂了。
给老师的建议:我觉得老师布置的任务量有点大,看起来其实是一周的作业,其实每天都在写代码中,几乎是一有空就要面对电脑,如果真要给建议的话就是希望老师可以少留一些作业。
要求五
表格
折线图
我评论的博客
王佳乐:http://www.cnblogs.com/wjl1124/p/7783547.html