习题4-选择结构程序设计

1、代理费计算

【问题描述】

某公司规定代理商代理费按下表计算:

交易金额(元)          代理费

(0,3000)               18+本金的1.2%

[3000,6000)           36+本金的0.6%

[6000~10000)          54+本金的0.3%

编程计算并打印本金在10000元以下的任一笔交易金额所应提取的代理费。(1、用switch语句完成;2、用if语句完成)

输入错误数据时,给出“data error!”的提示。


【输入形式】

输入交易金额。

【输出形式】

输出代理费。

【样例输入】

3500.00

【样例输出】

the cost is 57.00 RMB

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
	float x,y;
	scanf("%f",&x);
	if(x>0&&x<3000)
	{
		y=18.0+x*1.2/100.0;
	}
	else if (x>=3000&&x<6000)
	{
		y=36.0+x*0.6/100.0;
	}
	else if (x>=6000&&x<10000)
	{
		y=54.0+x*0.3/100;
	}
	else 
	{
		printf("data error!");
		return 0;
	}
	printf("the cost is %.2f RMB",y);
	return 0;
}

2、分段函数求解

【问题描述】用嵌套的if语句写程序,求y的值。a(a值为正)和x通过键盘输入。

【输入形式】输入a(正数)和x的值。

【输出形式】输出a、x和y的值。

【样例输入】a=5.5,x=12.5

【样例输出】a=5.50,x=12.50,y=12.50

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
	double a,x,y;
	scanf("a=%lf,x=%lf",&a,&x);
	if (fabs(x)==a)
	{
		y=0;
	}
	else if (x>-a&&x<a)
	{
		y=sqrt(a*a-x*x);
	}
	//if (x<-a||x>a)
	else
	{
		y=x;
	}
	printf("a=%.2f,x=%.2f,y=%.2f\n",a,x,y);
	return 0;
}

 

3、某点的建筑高度计算

【问题描述】

有4个圆塔,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为1。这4个塔的高度为10m,塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为零)。

【输入形式】

一个点的坐标:输入坐标值(x,y)


【输出形式】

输出该点的高度


【样例输入】

//以下为两组测试数据

2.0,2.0

0.0,0.0


【样例输出】

height is 10

height is 0

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
	double x,y;
	scanf("%lf,%lf",&x,&y);
	if (x<0)
	{
		x=-x;
	}
	if(y<0)
	{
		y=-y;
	}
	if((x-2)*(x-2)+(y-2)*(y-2)<=1)
	{
		printf("height is 10\n");
	}
	else
	{
		printf("height is 0\n");
	}
	return 0;
}

4、百分制成绩转换为等级

【问题描述】

给出一个百分制成绩,要求输出成绩等级'A'、'B'、'C'、'D'、'E'。90分以上为'A',80~89为'B',70~79为'C',60~69为'D',60分以下为'E'。其他情况请输出“Input Error”。


【输入形式】

一个整数:输入百分制成绩


【输出形式】

输出该成绩对应的等级


【样例输入】

//以下为多组测试数据

70

100

85

66

45

102


【样例输出】

//以下为多组数据对应的结果

Level C

Level A

Level B

Level D

Level E

Input Error

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
	int x;
	scanf("%d",&x);
	if (x>=90&&x<=100)
	{
		printf("Level A\n");
	}
	else if (x>=80&&x<90)
	{
		printf("Level B\n");
	}
	else if (x>=70&&x<80)
	{
		printf("Level C\n");
	}
	else if (x>=60&&x<70)
	{
		printf("Level D\n");
	}
	else if (x>0&&x<60)
	{
		printf("Level E\n");
	}
	else
	{
		printf("Input Error\n");
	}
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

꧁༺❀氯ྀൢ躅ྀൢ❀༻꧂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值