您的位置:首页 > 其它

第六周作业

2017-11-05 20:24 447 查看
1,题目一:高速公路超速处罚

1.实验代码

#include<stdio.h>
int main()
{
float a,b;
double c;
scanf("%f %f",&a,&b);
c=(double)(a-b)/b*100;
if(c<10)
printf("OK");
else if(c<50)
printf("Exceed %.0f%%. Ticket 200",c);
else
printf("Exceed %.0f%%. License Revoked",c);
return 0;
}

2.设计思路

(1)主要描述题目算法

第一步,写好程序基本框架。

第二步,阅读题目估计本题有三种情况,车速小于限速的10%,车速大于限速的10%小于限速的50%,车速大于限速的50%。

第三步,定义两个整数车速和限速,和一个浮点数超速的百分之多少。

第四步,%.0f%%的意思是:%.0f是输出控制格式,表示输出一个double型数据,小数部分长度为0,即只有整数部分。不足左面空格补齐,即右对齐。而%%则输出来就是%。

第五步,结束。

(2)流程图



3.本题调试过程碰到问题及解决办法

一开始我是按下图做的


但是就是有错误,我花了大量时间也没找出为什么。然后我就求助互联网了,发现少了一个0.5;然后我加了0.5;如下图所示,对了。


在和同学交流中,我发现了还有另一种方法。如下图所示。


4.pta截图



1,题目二:计算油费

1.实验代码

#include <stdio.h>
int main()
{
int a,b;
char c;
double d;
scanf("%d %d %c",&a,&b,&c);
if(b==90)
{
if(c=='m')d=6.95*0.95*a;
else d=6.95*0.97*a;
}
else if(b==93)
{
if(c=='m') d=7.44*0.95*a;
else d=7.44*0.97*a;
}
else
{
if(c=='m')d=7.93*0.95*a;
else d=7.93*0.97*a;
}
printf("%.2f\n",d);
return 0;

}

2.设计思路

(1)主要描述题目算法

第一步,写好程序基本框架

第二步,想到if,else if,else结构。

第三步,分析题目内容可能有3个大种判断情况,有6个小种判断情况。

第四步,输出不用情况的结果。

第五步,结束。

(2)流程图



3.本题调试过程碰到问题及解决办法

没问题

4.pta截图



5,在经过和其他同学交流后,我又尝试了利用switch语句来编译,及流程图如下图所示:





1,题目三:比较大小

1.实验代码

#include<stdio.h>
int main()
{
int a,b,d,t;
scanf("%d %d %d",&a,&b,&d);
if(a>b)
t=a,
a=b,
b=t;
if(a>d)
t=a,
a=d,
d=t;
if(b>d)
t=b,
b=d,
d=t;
printf("%d->%d->%d",a,b,d);
return 0;
}

2.设计思路

(1)主要描述题目算法

第一步,写好程序基本框架。

第二步,引入中间变量t。

第三步,依次比较a,b,c的大小。a>b时,让t=a,a=b,b=t实现大小替换。a>c和b>c时也采用类似的方法进行替换。

第四步,按题目意思->方式输从小到大排列。

第五步,结束。

(2)流程图



3.本题调试过程碰到问题及解决办法

简单题,没问题

4.pta截图



1,题目四: 两个数的简单计算器

1.实验代码

#include <stdio.h>
int main()
{
int a,b;
char c;
scanf("%d %c %d",&a,&c,&b);
if(c=='+')
printf("%d",a+b);
else if(c=='-')
printf("%d",a-b);
else   if(c=='*')
printf("%d",a*b);
else  if(c=='/')
printf("%d",a/b);
else  if(c=='%')
printf("%d",a%b);
else printf("ERROR") ;
return 0;
}

2.设计思路

(1)主要描述题目算法

第一步,写好程序基本框架。

第二步,想到if,else if,else结构。

第三步,分析题目内容可能有5种判断情况。

第四步,将+,-。*。/。%和error五种情况进行编程,然后输出结果。

第五步,结束

(2)流程图



3.本题调试过程碰到问题及解决办法

简单题,没问题

4.pta截图



5方法2,利用switch语句来编译



个人总结

1,学习了while,for,do while语句。

2,开始用word做流程图简直慢的要命,现在在https://www.processon.com上作图,特别快。

3,就是第一题要加0.5的还没懂。

4,复习了switch语句,了解了switch可以简化程序,加快程序运行速度。

git地址

https://git.coding.net/AI1452349541/H.K.2.1.git

git截图



点评的其他同学

陈雨秋http://www.cnblogs.com/cyq66992152/p/7789995.html

林梦http://www.cnblogs.com/lin2580/p/7798108.html

郭志康http://www.cnblogs.com/gzk08-20/p/7801265.html

本周学习进程







建议:

1,写博客太费时了,建议减少些博客要求,多出些代码编程题。

2,最近学的switch语句,循环语句练得太少,不过瘾,建议多出一些。

3,最近学的编程太枯燥无味了,建议时不时插入一些有趣的简单的编程,如编程简单游戏,特殊图案也行..........
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: