要求一(20经验值)
要求二(60经验值)
题目7-1 高速公路超速处罚
#include<stdio.h>
int main()
{
int a, b,c,d ;
scanf("%d %d",&a,&b);
if (a<b*1.1)
{
printf("OK");
}
else
{
if (a>=(1.5*b))
{
float c=100*(a-b)/(float)b;
printf("Exceed %.0f%%. License Revoked",c);
}
else
{
float d=100*(a-b)/(float)b;
printf("Exceed %.0f%%. Ticket 200",d);
}
}
}
设计思路
1.先设出两个变量分别代表车速与限速。
2.然后再有if语句判断是否超速,并且超速程度的大小。
3.输出判断情况。
流程图
本题调试过程碰到问题及解决办法
本题为上周做过的题,思路清晰,没有问题。
本题PTA提交列表
题目7-2 计算油费
#include <stdio.h>
int main()
{
int a,b;
char c;
double d;
scanf("%d %d %c",&a,&b,&c);
if(b==97)
{
if(c=='m')
{
d=(7.93*a)*0.95*1.0f;
}
else
{
d=(7.93*a)*0.97*1.0f;
}
}
else if(b==93)
{
if(c=='m')
{
d=(7.44*a)*0.95*1.0f;
}
else
{
d=(7.44*a)*0.97*1.0f;
}
}
else
{
if(c=='m')
{
d=(6.95*a)*0.95*1.0f;
}
else
{
d=(6.95*a)*0.97*1.0f;
}
}
printf("%.2lf",d);
return 0;
}
设计思路
1.有加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助)三个变量。
2.根据汽油品种分为3种情况,再在每种情况中分为自助还是协助两种类型。
3.每种按照每种情况进行计算,得出结果,保留两位。
流程图
本题调试过程碰到问题及解决办法
再做此题之前看到了C语言群里同学们的讨论,所以我做的时候直接使用了double,一次做对,没有问题。
本题PTA提交列表
题目7-3 比较大小
#include <stdio.h>
int main()
{
int a,b,c,d;
scanf("%d %d %d",&a,&b,&c);
if(a>=b&&b>=c)
{
d=a,a=c,c=d;
}
else if(b>=a&&a>=c)
{
d=a,a=c,c=b,b=d;
}
else if(a>=c&&c>=b)
{
d=a,a=b,b=c,c=d;
}
else if(b>=c&&c>=a)
{
d=b,b=c,c=d;
}
else if(c>=a&&a>=b)
{
d=a,a=b,b=d;
}
else
{
a=a,b=b,c=c;
}
printf("%d->%d->%d",a,b,c);
return 0;
}
设计思路
1.三个变量,比较大小,可以分出六种情况,通过错误提示可以知道,还有第七种,就是都相等。
2.使用if和even if将所有语句列出。
3.按顺序重新赋值,最后输出结果。
流程图
本题调试过程碰到问题及解决办法
这道题在做的时候遇见了很多问题,首先因为大量的使用even if语句,无法输出结果。如图
经过几次删改,勉强可以输出,却是这样的
输出多个结果,还是错的,后来在同学的提醒下,对even if()括号内的内容进行了修改,加入了&&使得条件更加清楚。
同时在输出的时候也做了改变,先用字母代换,最后统一输出,避免了一次输出多个结果。
本题PTA提交列表
题目7-4 两个数的简单计算器 (必须使用switch结构实现)
实验代码
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,d;
char c;
scanf("%d",&a);
getchar();
scanf("%c",&c);
scanf("%d",&b);
switch(c)
{
case '+':d=a+b,printf("%d",d);break;
case '-':d=a-b,printf("%d",d);break;
case '*':d=a*b,printf("%d",d);break;
case '/':d=a/b,printf("%d",d);break;
case '%':d=a%b,printf("%d",d);break;
default:printf("ERROR");
}
}
设计思路
- 一共是五种符号计算,所以有五种情况,使用switch更为方便。
2.用char插入符号,然后用switch进行分情况。
流程图
本题调试过程碰到问题及解决办法
这道题主要问题是在switch语句应用不熟练上面,经常忘写break。同时在char上使用也犯了糊涂,最后在百度上查了符号的使用与数学运算,添加了#include(math.h)和getchar()最后成功。
本题PTA提交列表
要求三
GIT:https://git.coding.net/MikeJackYao/The-first.git
要求四(共7经验值)
个人总结
(1)主要学了if,switch,for这些语句,同时开了循环这个新语句。
(2)难点是for中所需条件,还有循环语句,新内容,不知道多会儿循环结束输出结果。
(3)希望老师可以多带我们复习下上节课的内容。
要求五(共8经验值)
互评和学习进度
1、徐铭博:http://www.cnblogs.com/xmb1547828350/
于耀松:http://www.cnblogs.com/jsjyys/p/7818602.html
杨志群:http://www.cnblogs.com/12138-/p/7823088.html
2、