if语句练习

46 阅读1分钟

题目如下:

image.png

代码如下:

#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;
}

演示如下:

image.png