题目如下:
代码如下:
#include<stdio.h>
#include <stdlib.h>
int main(){
int age;
printf("输入年龄:");
scanf("%d", &age);
int time;
printf("请输入时间(整数,如10表示10点,14表示14点):");
scanf("%d", &time);
int isVip;
printf("输入是否会员(1:是, 0:否):");
scanf("%d", &isVip);
printf("您的年龄是%d, 看电影的时间是:%d点, 是否会员: %d\n", age, time, isVip);
// 1. 计算基础票价
int price1;
int price2;
if (time < 12) {
price1 = 50;
printf("基础票价为50元\n");
} else {
price2 = 80;
printf("基础票价为80元\n");
}
// 2. 计算年龄优惠后的价格
float price3;
if (age <= 6) {
price3 = price1 * 0.5;
printf("儿童票折扣为5折,折后票价为:%.1f元\n", price3);
} else if (age >= 60) {
price3 = price1 * 0.7;
printf("老年票折扣为7折,折后票价为:%.1f元\n", price3);
} else {
price3 = price1;
printf("其他年龄无年龄优惠,票价为:%.1f元\n", price3);
}
// 3. 计算会员折扣后的价格(会员在年龄优惠后再打9折)
float price4;
if (isVip == 1) {
price4 = price3 * 0.9;
printf("会员折扣后票价为:%.1f元\n", price4);
} else {
price4 = price3;
printf("不是会员,没有会员优惠,票价为:%.1f元\n", price4);
}
// 4. 特殊规则:儿童和老人无论是否为会员,晚间场额外减10元(所有折扣后生效)
float final_price = price4;
if ((age <= 6 || age >= 60) && time >= 12) {
final_price -= 10;
printf("儿童/老人晚间场额外减10元,最终票价为:%.1f元\n", final_price);
} else {
printf("最终票价为:%.1f元\n", final_price);
}
return 0;
}
演示如下: