题目
题目一:高速公路超速处罚
1.实验代码
#include <stdio.h>
int main()
{
int speed,maxspeed;
double x;
scanf("%d %d",&speed,&maxspeed);
x=(double)(speed-maxspeed)/(double)maxspeed*;
if(x<)
printf("OK");
else if(x>=)
printf("Exceed %.0f%%. License Revoked",x);
else
printf("Exceed %.0f%%. Ticket 200",x);
return ;
}
2.设计思路
①算法
Begin
输入speed,maxspeed //分别表示实际速度和车道限速
计算x的值 //x为实际速度超出车道限速的百分比的值
判断x值的大小,并输出不同结果
end
②流程图
3.本题未遇到问题
4.本题PTA提交列表
题目二:计算油费
1.实验代码
#include <stdio.h>
int main()
{
int a = ;
float b,price,discount,money;
char c;
scanf("%d %2f %c",&a,&b,&c);
if( b == ){
price = 6.95;
}
if( b == ){
price = 7.44;
}
if( b == ){
price = 7.93;
}
if( c == 'm'){
discount = 0.05;
}
if( c == 'e'){
discount = 0.03;
}
money = a * price * ( - discount);
printf("%.2f",money);
}
2.设计思路
①算法
Begin
输入a,b,c //a代表加油量,b代表汽油品种,c代表服务类型
判断b的值,定义price的值 //通过判断不同品种的汽油,定义不同的单价
判断c的值,定义discount的值 //通过判断不同类型的服务,定义不同的折扣比例
计算money //利用money = a * price * (1 - discount)这一公式计算应付款
输出money的值
end
②流程图
3.本题未遇到问题
4.本题PTA提交列表
题目三:比较大小
1.实验代码
#include <stdio.h>
int main()
{
int a,b,c,x,y,z;
scanf("%d %d %d",&a,&b,&c);
if( a > b){
x = a;
z = b;
}else{
x = b;
z = a;
}
if( c > x){
x = c;
}else{
if(c < z){
z = c;
}
}
y = a + b + c - x -z;
printf("%d->%d->%d",z,y,x);
}
2.设计思路
①算法
Begin
输入a,b,c
判断a与b的值的大小,将较大的值赋给x,较小的值赋给z。 //定义x为最大值,z为最小值,y为中间值
判断a、b中较大值与c的值的大小。若c大,将c赋给x。
否则,判断c是否小于a、b中较小值。若是,将c赋给z。
中间值y为三个数之和减去最大值与最小值。
输出z->y->x
end
②流程图
3.本题未遇到问题
4.本题PTA提交列表
题目四:两个数的简单计算器
1.实验代码
#include <stdio.h>
int main()
{
int a,b,answer;
char c;
scanf("%d %c %d",&a,&c,&b);
switch (c)
{
case '+':
answer = a + b;
printf("%d",answer);
break;
case '-':
answer = a - b;
printf("%d",answer);
break;
case '*':
answer = a * b;
printf("%d",answer);
break;
case '/':
answer = a / b;
printf("%d",answer);
break;
case '%':
answer = a % b;
printf("%d",answer);
break;
default:
printf("ERROR");
}
return ;
}
2.设计思路
①算法
Begin
输入 a c b; //a、b为输入的两个整数,c为运算符
判断c为何种符号
若合法,计算并输出a与b经过此种运算符运算后的结果
若不合法,输出ERROR
②流程图
3.本题起初并未按照作业要求使用switch语句,经过同学提醒修正。
初始if语句代码:
#include <stdio.h>
int main()
{
int a,b,answer;
char c;
scanf("%d %c %d",&a,&c,&b);
if( c == '+'){
answer = a + b;
printf("%d",answer);
}else if( c == '-'){
answer = a - b;
printf("%d",answer);
}else if( c == '*'){
answer = a * b;
printf("%d",answer);
}else if( c == '/'){
answer = a / b;
printf("%d",answer);
}else if( c == '%'){
answer = a % b;
printf("%d",answer);
}else{
printf("ERROR");
} }
4.本题PTA提交列表
我的git地址:https://git.coding.net/dx200798/sixth.git
项目截图
个人总结
一、本周学习内容:
1.学习了while语句、do...while语句、for语句这三个循环语句,并学习了三种循环的互相嵌套。
2.学习了break语句和continue语句。
3.练习了IF语句和switch语句,提高了对语句应用的熟练度。
二、疑点难点:
对for语句还没有比较熟练掌握,还需要练习。
三、对目前老师上课形式并没有什么意见,无法提出意见。
互评和学习进度
互评链接
链接一:http://www.cnblogs.com/fengzx/p/7801506.html
链接二:http://www.cnblogs.com/lixiaojing/p/7798963.html
链接三:http://www.cnblogs.com/exo123/p/7811906.html
图表