小黄车ofo
时间: 1ms 内存:128M
描述:
Callback想在周天没有课的时间去养马岛玩一玩。他打算骑自行车去,所以Callback用支付宝扫了一辆ofo小黄车,小黄车的价格是每公里1元。由于正值双十一,ofo搞活动,活动内容如下(以下x为正整数):
1.骑行公里数x≤5时,每公里奖励0.2元。
2.骑行公里数5<x≤10,高于5公里的部分每公里奖励0.5元,低于5公里的每公里奖励0.2元。
3.骑行公里数10<x≤15,高于10公里的每公里奖励0.8元,低于10公里的按上述办法奖励。
4.骑行公里数x>15,不收取任何费用,在此基础上每多骑行一公里奖励一元,每人最多可得10元。
问Callback最终是消费了还是被奖励了,消费或者被奖励了多少?(保留一位小数)
PS:前15公里是收取费用的哦!
输入:
Callback 骑行的公里数(正整数)。
输出:
如果是消费,输出“消费:XX元”,如果是奖励,输出“得到奖励:XX元” (保留一位小数,是英文的冒号)
示例输入:
14
示例输出:
消费:7.3元
提示:
参考答案(内存最优[1092]):
#include<stdio.h>
int main()
{
int x;
float sum;
scanf("%d",&x);
if(x<=5)
{
sum=0.8*x;
printf("消费:%.1f元",sum);
}
else if(x>5&&x<=10)
{
sum=0.8*5+(x-5)*0.5;
printf("消费:%.1f元",sum);
}
else if(x>10&&x<=15)
{
sum=0.8*5+0.5*5+(x-10)*0.2;
printf("消费:%.1f元",sum);
}
else
{
if((x-15)>=10)
printf("得到奖励:10.0元");
else
{
sum=(x-15)*1;
printf("得到奖励:%.1f元",sum);
}
}
return 0;
}
参考答案(时间最优[0]):
#include<stdio.h>
int main()
{
int x;
float sum;
scanf("%d",&x);
if(x<=5)
{
sum=0.8*x;
printf("消费:%.1f元",sum);
}
else if(x>5&&x<=10)
{
sum=0.8*5+(x-5)*0.5;
printf("消费:%.1f元",sum);
}
else if(x>10&&x<=15)
{
sum=0.8*5+0.5*5+(x-10)*0.2;
printf("消费:%.1f元",sum);
}
else
{
if((x-15)>=10)
printf("得到奖励:10.0元");
else
{
sum=(x-15)*1;
printf("得到奖励:%.1f元",sum);
}
}
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。