题目
题目一:高速公路超速处罚
1.实验代码
#include <stdio.h> int main() { int speed,maxspeed; double x; scanf("%d %d",&speed,&maxspeed); x=(double)(speed-maxspeed)/(double)maxspeed*100; if(x<10) printf("OK"); else if(x>=50) printf("Exceed %.0f%%. License Revoked",x); else printf("Exceed %.0f%%. Ticket 200",x); return 0; }
2.设计思路
①算法
Begin
输入speed,maxspeed //分别表示实际速度和车道限速
计算x的值 //x为实际速度超出车道限速的百分比的值
判断x值的大小,并输出不同结果
end
②流程图
3.本题未遇到问题
4.本题PTA提交列表
题目二:计算油费
1.实验代码
#include <stdio.h> int main() { int a = 0; float b,price,discount,money; char c; scanf("%d %2f %c",&a,&b,&c); if( b == 90){ price = 6.95; } if( b == 93){ price = 7.44; } if( b == 97){ price = 7.93; } if( c == ‘m‘){ discount = 0.05; } if( c == ‘e‘){ discount = 0.03; } money = a * price * (1 - 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 0; }
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语句还没有比较熟练掌握,还需要练习。
三、对目前老师上课形式并没有什么意见,无法提出意见。
互评和学习进度
互评链接
链接一:
链接二:
链接三:
图表