第六周作业

7-1 高速公路超速处罚
1.实验代码

#include <stdio.h>
int main()
{
	int chesu,xiansu;
	scanf("%d %d",&chesu,&xiansu);
	if (chesu<xiansu*1.1f)
	   {printf("OK");
	   }
	if (chesu>=xiansu*1.5f)	
	    {printf("Exceed %.0f%%. License Revoked",(((chesu-xiansu)*1.0f)/xiansu*100));
	    }
	else if (chesu>=xiansu*1.1f)
	   {printf("Exceed %.0f%%. Ticket 200",(((chesu-xiansu)*1.0f)/xiansu*100));
       }
	
}

2.设计思路
(1)
第一步:定义两个整数chesu,xiansu。
第二步:判断当车速小于限速乘以1.1时输出OK。
第三步:判断当车速大于等于限速乘以1.5时输出“Exceed x%. License Revoked”。
第四步:判断当车速不大于等于限速乘以1.5且车速大于等于限速乘以1.1时输出“Exceed x%. Ticket 200”。
(2)

3.问题
输出时同时出现了两种答案,经改变if条件位置后答案正确。
4.PTA提交列表

7-2 计算油费
1.实验代码

#include<stdio.h>
int main()
{
	int a,b;
	float m,e,b1;
	char c;
	scanf("%d %d %c",&a,&b,&c);
	if((c-105)>0)
		{
			m = 0.95;
		}else
		{
			m = 0.97;
		}
	switch(b){
		case 90: b1 = 6.95;break;
		case 93: b1 = 7.44;break;
		case 97: b1 = 7.93;break;
	}
	e = a * b1 * m;
	printf("%.2f",e);
}

2.设计思路
(1)
第一步:定义整数加油量a汽油种类b。
第二步:定义浮点m,e汽油价格b1。
第三步:定义字符服务类型c。
第四步:判断字符ASCII是否大于105得到优惠。
第五步:转换b1得到油价。
第六步:计算得到油费e。
第七步:输出油费e。
(2)

3.问题
无问题。
4.PTA提交列表

7-3 比较大小
1.实验代码

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

2.设计思路
(1)
第一步:定义任意3个整数a,b,c输入。
第二步:定义按顺序输出的三个整数f,s,t。
第三步:判断a是否小于b①。
第四步:①<条件为真>→判断c是否大于b②→②<条件为真>按顺序输出cba。
第五步:②<条件为假>→判断a是否小于c③→③<条件为真>按顺序输出bca→③<条件为假>按顺序输出bac。
第六步:①<条件为假>→判断a是否大于c④→④<条件为假>按顺序输出cab。
第七步:④<条件为真>→判断b是否大于c⑤→⑤<条件为真>按顺序输出abc→⑤<条件为假>按顺序输出acb。
(2)

3.问题
无问题。
4.PTA提交列表

7-4 两个数的简单计算器
1.实验代码

#include<stdio.h>
int main()
{
	char c;
	int a,b,d;
	scanf("%d %c %d",&a,&c,&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");break;
	}
}

2.设计思路
(1)
第一步:定义字符运算符c。
第二步:定义操作数1a,操作数2b,运算结果d。
第三步:转换相应字符进行计算并输出结果d。
第四步:转换无对应字符输出ERROR。
(2)

3.问题
非指定字符输出时同时出现两种结果,将输出语句加在d运算公式后,输出结果正常。
4.PTA提交列表

要求三
1.git地址
https://git.coding.net/z732511533/ZYS.git
2.截图

要求四
1.学习内容
学习了if语句的嵌套,switch语句。
2.难点,知识点
if语句的连续嵌套和else对应容易混乱,if条件的规范书写容易出错。
3.建议或意见
我认为上课形式很好,没有意见。

要求五
1.点评
于耀淞:http://www.cnblogs.com/jsjyys/p/7818602.html
王姝雯:http://www.cnblogs.com/phsudie/p/7801346.html
徐铭博:http://www.cnblogs.com/xmb1547828350/p/7796034.html
2.表格,流程图

时间 代码行数 时间1(min) 博客字数 时间2(min) 知识点
11.05 100 30 0 0
11.06 150 35 0 0 switch语句,while语句
11.07 80 20 0 0 switch语句,while语句
11.10 200 40 0 0 for语句
11.11 180 40 609 116 for语句,while语句

posted @ 2017-11-11 21:58  左右羽  阅读(199)  评论(8编辑  收藏  举报