Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

匿名使用者
匿名使用者 發問時間: 電腦與網際網路程式設計 · 5 年前

想問c語言1.輸入1早上進場輸入0中午進場2.輸入多少大人小孩要進遊樂園3.早上票價:大299孩149中午票價:大199孩99 4.每4個人有1人免費(小孩優先)超過15人以上則再享7折5.要付多少錢6.若沒折扣要付多少錢只可使用printf scanf if if...else?

1 個解答

評分
  • 5 年前
    最佳解答

    #include<stdio.h>

    int main(

    ){

    int am, adult, kid, pers, disc, fee[2][2]={{199,99},{299,149}};

    float dsc;

    for(; scanf("%d",&am)

    && scanf("%d",&adult)

    && adult >= 0

    && scanf("%d",&kid)

    && kid >= 0

    && 0 < (pers = adult + kid);){

    disc = pers/4;

    if(disc > kid) disc -= kid, kid = 0, adult -= disc; else kid -= disc, disc=0;

    dsc = (pers > 15) ? 0.75 : 1.0;

    printf("total charges = %d\n", (int)(dsc * (fee[am][0]*adult + fee[am][1]*kid)));

    }

    return 0;

    }

    test$ ./ticket

    1 1 0

    total charges = 299

    1 0 1

    total charges = 149

    0 1 0

    total charges = 199

    0 0 1

    total charges = 99

    0 1 1

    total charges = 298

    0 3 1

    total charges = 597

    0 4 0

    total charges = 597

    0 7 1

    total charges = 1194

    ^C

還有問題?馬上發問,尋求解答。