C 語言入門 | 06 - 04 | 滿額折扣計算練習 (使用 if 述句)

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 ม.ค. 2025

ความคิดเห็น • 83

  • @maru6551
    @maru6551 2 ปีที่แล้ว +11

    2022還在看老師的優秀教學

  • @dagyahk
    @dagyahk 4 ปีที่แล้ว +2

    超級懂用由淺入深方式教學的老師,看老師視頻既可以學程式又可是學教學方式,Feis Studio頻道超讚!

  • @StannyChang
    @StannyChang 3 ปีที่แล้ว +4

    非常精彩的課程編排
    三種寫法的呈現順序
    看似簡單直觀實際上是精心巧妙的安排

  • @eddiemagic1953
    @eddiemagic1953 9 ปีที่แล้ว +7

    第三種方法節省了CPU&RAM。謝謝指導

  • @StannyChang
    @StannyChang 3 ปีที่แล้ว +1

    留言中有人問想四捨五入怎麼做
    我就用目前學到的 寫了一個小程式
    只有五個步驟 想跟大家分享 還望老師賜教
    1宣告一個浮點數number1
    讓使用者自由輸入
    2宣告一個整數number2
    number2 = number1 就得到一個無條件捨去的整數
    3宣告一個浮點數number3
    number3 = number1 - number2 就得到了純小數
    4使用if述句
    if number3 >= 0.5
    則 number2 = number2 + 1
    5輸出number2 完成!

  • @wenhongjiang6828
    @wenhongjiang6828 9 ปีที่แล้ว +2

    好棒,好棒,更新了。。。。up主辛苦了

  • @ludwig-ph3hx
    @ludwig-ph3hx 9 ปีที่แล้ว +1

    讲的非常清楚,感谢老师!

  • @Ezra1125
    @Ezra1125 3 ปีที่แล้ว

    個人是這樣:
    int main(void)
    {
    int customers, cos ;
    printf("How many customers:") ;
    scanf("%d", &customers) ;
    cos = customers * 300 ;
    if (cos < 3000)
    {
    printf(" Total:%d
    ", cos);
    }
    int total ;
    int temp = cos ;
    if (cos >= 3000)
    {
    printf(" Cos:%d
    ", cos);
    cos = cos - (cos * 0.8) ;
    printf(" Discount:%d
    ", cos);
    total = temp - cos ;
    printf(" Total:%d", total);
    }
    return 0 ;
    }

  • @言言-j4g
    @言言-j4g 2 ปีที่แล้ว

    想請問老師,再看到後面之前我有先嘗試思考試著寫,在19:42的地方 if(total >= 3000){total = total*0.8},我本來只寫{total*0.8}的話就不會執行,是否原因是因爲算完之後結果沒有存回total,所有以才沒有效果呢?

  • @mo000138
    @mo000138 ปีที่แล้ว

    謝謝老師用心的課程編排
    #include
    int main()
    {
    int people,number,sum;
    people = 300;
    printf("滿三千打八折活動,每人三百,請輸入人數:");
    scanf("%d", &number);
    sum = people * number;
    if( sum >= 3000){
    sum = sum*0.8;
    printf("本次費用:%d元", sum);
    }
    if( sum < 3000){
    printf("本次費用:%d元", sum);
    }
    return 0;
    }

  • @簡鴻海
    @簡鴻海 7 ปีที่แล้ว +1

    我覺得一個變數對新手來說比較好掌控
    #include
    int main()
    {
    int a = 0;

  • @imJ-ix6po
    @imJ-ix6po 4 ปีที่แล้ว

    我自己看書都看無,看老師的課有如打通任督二脈
    以下我用一個變數,不知道這樣有沒有問題
    #include
    int main(){
    int number;
    printf("Please enter the number of customers:");
    scanf("%d", &number);
    number = 300*number;
    if (number>=3000){
    number = number *0.8;
    }
    printf("Total:%d
    ", number);
    return 0;
    }

  • @wu1686
    @wu1686 6 ปีที่แล้ว

    我是這樣子寫的
    #include
    int main()
    {
    int people;
    int money = 300;
    int sum;
    printf("Please enter People: ");
    scanf("%d", &people);
    if(people >= 10){
    sum = (money * people) * 0.8;
    }
    if(people < 10 ){
    sum = money * people;
    }
    printf("Total money is %d.", sum);
    }

  • @tingyulai8065
    @tingyulai8065 29 วันที่ผ่านมา

    我是用人數去判斷要不要打折這件事情,這樣算我邏輯上有進入誤區嗎?會超3000代表>=10個人,所以判斷人數去做打折。

  • @jifonghuang4090
    @jifonghuang4090 4 ปีที่แล้ว +1

    請問我這樣寫有沒有什麼盲點呢?
    因為也算得出來...
    #include
    int main () {
    int number, Total1, Total2 ;
    printf ("輸入顧客數量 : ") ;
    scanf ("%d" , &number) ;
    Total1 = number*300 ;
    Total2 = number*300*0.8;
    if (number < 10 ) {
    printf ("Total : %d
    ", Total1);
    }
    if (number >= 10) {
    printf ("Total : %d
    ", Total2);
    }
    return 0 ;
    }

    • @MrCellphone201198
      @MrCellphone201198 4 ปีที่แล้ว

      雖然最後結果一樣,但我覺得這和原本的題意"滿額折扣"不太一樣,你這比較像"消費滿多少人有打折" 的意思

  • @扯媽蛋
    @扯媽蛋 4 ปีที่แล้ว

    int main(){
    int a, b, c;
    printf("請輸入客人數:");
    scanf("%d" ,&a);
    b =c = a * 300;
    if (b >=3000) {
    c = b * 0.8;
    }
    printf("總共%d元" ,c);
    return 0;
    }

  • @danzeing3391
    @danzeing3391 9 ปีที่แล้ว +1

    表达式里有0.8,编译器提示有浮点数,要求定义变数total要为float or double,除了直接算出300*0.8以外,还有什么解决方法?
    int main()
    {
    int pn,discount;
    printf("请输入人数:");
    scanf("%d", &pn);
    if (pn < 10)
    {
    discount = pn * 300;
    printf("应付金额为:%d
    ", discount);
    }
    if (pn >= 10)
    {
    discount = pn * 240;
    printf("应付金额为:%d
    ", discount);
    }
    return 0;
    }

  • @A737944
    @A737944 2 ปีที่แล้ว

    int main(){
    int x,money;
    printf("number:");
    scanf("%d",&x);
    money=x*300;
    if(money>=3000){
    printf("total:%f",money*0.8);
    }
    if(money

    • @zavierlin11
      @zavierlin11 2 ปีที่แล้ว

      money*0.8乘出來的值都會是整數,所以用%d比較合適

  • @ZHOU95422
    @ZHOU95422 6 ปีที่แล้ว +2

    没有听完做的,结果我用了人数的计算方法,算第四种解法吧XD
    #include
    int main (){
    int number, total;
    printf ("please enter the number of customers:");
    scanf ("%d",&number);
    if (number < 10){
    total = 300*number;
    }
    if (number >= 10){
    total = 300*number*0.8;
    }
    printf ("total: %d
    ",total);
    return 0;
    }

    • @andy69696123
      @andy69696123 5 ปีที่แล้ว

      Y Z 哈哈跟我一樣欸

    • @大大帥-k4r
      @大大帥-k4r 4 ปีที่แล้ว

      這只是換單位而已吧

    • @trillion-teamweng9247
      @trillion-teamweng9247 4 ปีที่แล้ว +1

      @@大大帥-k4r 意義已經不同了,只是結果剛好一樣,且必須要在已知(人數達十人時會超過3000元),所以會變成人數超過十人時打八折,而不是原本的超過3000打八折。
      如果在不確定條件時,可能出現無法預期的問題。

  • @mouseking9224
    @mouseking9224 9 หลายเดือนก่อน

    聽到一半在猜if怎麼寫時, 誤打誤撞好像寫對了
    #include
    int main ()
    {
    int number, total;
    printf("please enter the numbers of customers: ");
    scanf("%d", &number);
    total = number*300;
    if (total >= 3000) {
    total = 300* number * 0.8;
    }
    printf("Total: %d
    ", total);
    return 0;
    }

  • @zyhz3960
    @zyhz3960 2 ปีที่แล้ว

    我一開始設成浮點數來算,結果都會變成0.000000,是整數不能 x 0.8 嗎?

  • @謝育能-s5s
    @謝育能-s5s 8 ปีที่แล้ว

    include
    int main() {
    int number,totel;
    printf("please enter the number of customers");
    scanf("%d", &number);
    if (number 15) {
    totel = 300 * number * 0.8;
    }
    printf("totel: %d", totel);
    return 0;
    }

  • @okay_okay_
    @okay_okay_ 6 ปีที่แล้ว

    我是這樣打:P
    #include
    int main() {
    printf("
    \t滿額打8折

    ");
    int a, b;
    printf(" \t請輸入應付價格:");
    scanf("%d", &a);
    if(a>=3000){ //如果應付價格高於3000就...
    b = a * 0.8;
    printf("


    應付:
    %d元", b);
    }else printf("


    應付:
    %d元", a);
    return 0;
    }

  • @郭Martin
    @郭Martin 2 ปีที่แล้ว

    可以問一下為什麼printf 中總是習慣要換行(加
    )

  • @shuaizhang9557
    @shuaizhang9557 7 ปีที่แล้ว +3

    printf("这个太酷了!");

  • @羊咩咩-s5r
    @羊咩咩-s5r 6 ปีที่แล้ว

    Total定義為int
    但打折後的數值可能會有小數,倘若最後想要四捨五入該如何處理呢?

    • @prctv8180
      @prctv8180 6 ปีที่แล้ว +1

      那就定义为double 你没看前面的课程咩

    • @John-kd6sy
      @John-kd6sy 6 ปีที่แล้ว

      #include
      int main()
      {
      int num;
      double total;
      printf("Please inter the integer:
      ");
      scanf("%d",&num);
      total=(double)num*(double)300;
      if(total>3000)
      {
      total=total*0.8;
      printf("%f
      ",total);
      }else
      {
      printf("%f
      ",total);
      }
      return 0;
      }

    • @MrCellphone201198
      @MrCellphone201198 4 ปีที่แล้ว +2

      依照題意 total*0.8 不會有小數的情況發生吧?

    • @jackymamawang
      @jackymamawang 2 ปีที่แล้ว

      你的價格應該不會有小數吧?除非你用美元XD

  • @thomasleong3510
    @thomasleong3510 8 ปีที่แล้ว

    #include
    int main () {
    int per_price = 300;
    int per_cust;
    int consume = 3000;
    int Multi;
    int discount = 0;
    int total;
    printf("Please enter the number of customer: ");
    scanf("%d", &per_cust);
    Multi = per_price * per_cust;
    if (Multi > consume); {
    discount = 8;
    total = (Multi * discount) /100;
    total = Multi - total;
    printf("Total:%d", total);
    }
    return 0;
    }
    哈哈,我先自己做了先,然后再看老师的,做法果然不同T-T, 但还是能算出答案

    • @thomasleong3510
      @thomasleong3510 8 ปีที่แล้ว

      #include
      int main () {
      int per_price = 300;
      int per_cust;
      int consume = 3000;
      int Multi;
      int discount = 8;
      int total;
      printf("Please enter the number of customer: ");
      scanf("%d", &per_cust);
      Multi = per_price * per_cust;
      if (Multi < consume) {
      total = Multi;
      }
      if (Multi >= consume) {
      total = (Multi * discount) /100;
      total = Multi - total;
      }
      printf("Total:%d", total);
      return 0;
      }
      这个才对
      早上睡醒,发现自己的code有问题
      1. 没超过3000,也打折
      2. if后面是不需要 “;”
      3.printf不能放在if {} 的里面

    • @JC-bt4ui
      @JC-bt4ui 7 ปีที่แล้ว

      #include
      int main (){
      int Anzahl ,Geld;
      printf(" Anzahl: ");
      scanf("%d",&Anzahl);
      if (Anzahl 9){
      Geld=240*Anzahl;
      printf("Kosten ist %d\.n ",Geld);
      }
      return 0;
      }

  • @axontiger3142
    @axontiger3142 5 ปีที่แล้ว +1

    假設有5人來吃,其中有3人吃3,份,有2人吃2份
    該如何寫程式

  • @user-kv4oc2he2k
    @user-kv4oc2he2k 4 หลายเดือนก่อน

    0.8不是浮點數嗎 為什麼可以直接乘

    • @rainbowbubble456
      @rainbowbubble456 3 หลายเดือนก่อน

      在某些情況下確實會出問題,可以試著設計出一組數字:乘上0.8之後因為出現小數點而改變資料型態,無法輸出。

  • @汪大涵
    @汪大涵 7 ปีที่แล้ว +3

    #include
    int main(){
    int customers,total;
    printf("Please enter the number of customers: ");
    scanf("%d",&customers);
    if(customers>=10){
    total=customers*300*0.8;
    }
    if(customers

  • @宇鉑-i9q
    @宇鉑-i9q 5 หลายเดือนก่อน

    紀錄這是我學程式的第三天

  • @10徐有加
    @10徐有加 5 ปีที่แล้ว

    #include
    int main(){
    int people;
    int total;
    printf("Please enter the customer number:" );
    scanf("%d",&people);
    total = people * 300;
    if(total>=3000){
    total = total * 0.8;
    }
    if(total

  • @守城人
    @守城人 4 ปีที่แล้ว +3

    太不合理了,9個人的上哪說理去,10個人的都比它便宜

  • @Zhang1
    @Zhang1 5 ปีที่แล้ว

    #include
    int main()
    {
    int p,c;
    printf("输入人数:
    ");
    scanf("%d",&p);
    c=p*300;
    if(c>3000){c=(c*0.8);};
    printf("金额为:%d.
    ",c);
    return 0;
    }

  • @spacebarista
    @spacebarista 8 ปีที่แล้ว

    #include
    int main()
    { int a;
    printf("请输入人数:");
    scanf("%d",&a);
    if(a>10){printf("你的消费为:%d",a=a*240);}
    if(a

    • @黃竹均-p7e
      @黃竹均-p7e 6 ปีที่แล้ว

      可以省略掉 a=
      #include
      int main()
      { int a;
      printf("请输入人数:");
      scanf("%d",&a);
      if(a>10){printf("你的消费为:%d",a*240);}
      if(a

  • @aaronhuang771
    @aaronhuang771 7 ปีที่แล้ว +3

    #include
    int main(){
    int number,Total;
    printf("Please enter the number of customers:");
    scanf("%d",&number);
    Total=number*300;
    if(number>=10){
    Total=number*300*0.8;
    }
    printf("Total:%d
    ",Total);
    return 0;
    }
    我想的比較簡單XD

    • @1234n-i4u
      @1234n-i4u 5 ปีที่แล้ว

      @顧文凱 可能是因為最後一個printf沒有放在大括弧裡吧

  • @Mr.Tu_Official
    @Mr.Tu_Official 5 หลายเดือนก่อน

    2024/7/26簽到

  • @nomineko5261
    @nomineko5261 6 ปีที่แล้ว +2

    #include
    int main()
    {
    int People, Total;
    printf("Please enter the number of people : ");
    scanf("%d", &People);
    Total = People * 300;
    if (Total >= 3000) {
    Total = Total * 0.8;
    }
    printf("Total : %d
    ", Total);
    return 0;
    }
    我的比較少一點XDDDD但是好像沒差

  • @mcgrawhill6557
    @mcgrawhill6557 4 ปีที่แล้ว

    👍

  • @KK-vd1fn
    @KK-vd1fn 4 ปีที่แล้ว

    “%d” 是什么意思啊

    • @imJ-ix6po
      @imJ-ix6po 4 ปีที่แล้ว

      你要去看前面有教完整的
      先回答你%d=十位數有號整數

  • @robertwade668
    @robertwade668 5 ปีที่แล้ว

    #include
    int main (){
    int a,total;
    printf("please enter the number of customers:");
    scanf("%d",&a);
    total=a*300;
    if(a>=10){
    total=a*300*0.8;
    }
    printf("total:%d
    ",total);
    return 0;
    }
    我觉得这样会更简单点

  • @Tammyvedio
    @Tammyvedio 5 ปีที่แล้ว

    閹割版
    #include
    int main() {
    int money ,pay;
    printf("You spent money:");
    scanf("%d", &money);
    if(money>=3000) {
    pay=money*8/10;
    }
    if(money

  • @eryu1233
    @eryu1233 5 ปีที่แล้ว

    有點啰嗦,有很多前面講過的使用方法,一直在又重複講多很多遍。難受
    [x . X]

    • @大大帥-k4r
      @大大帥-k4r 4 ปีที่แล้ว +3

      免費的還嫌==傻眼

    • @金慶維
      @金慶維 4 ปีที่แล้ว +2

      = = 你覺得教得慢可以自己快轉啊 囉嗦個毛阿

    • @小羊羊-y4h
      @小羊羊-y4h 4 ปีที่แล้ว +2

      傻眼,不想聽可以快轉,老師教的很清楚

    • @Bill-ey7st
      @Bill-ey7st 3 ปีที่แล้ว +2

      低能兒..

    • @李翰林-e6x
      @李翰林-e6x 3 ปีที่แล้ว

      回家喝奶 傻x

  • @ross9619
    @ross9619 3 ปีที่แล้ว

    您好 不好意思 我想請問一下
    #include
    int main ()
    {
    int person;
    printf("Please enter today how many people:");
    scanf("%d",&person);
    if (person < 10 ){
    printf("Today's cost is %d",300 * person);
    }
    if (person >= 10){
    printf("Today's cost is %d
    ",300 * person * 0.8);}
    return 0;
    }
    我這樣執行
    但是如果我輸入人數超過10人的話
    最後輸出的結果都會變成0 想知道是哪邊出了問題
    麻煩您了 謝謝

    • @賴佳辰-m6y
      @賴佳辰-m6y 3 ปีที่แล้ว

      把 300 * person * 0.8 改為 240 * person 就不會有問題了
      可以想想看為甚麼

  • @nimzoeee4147
    @nimzoeee4147 3 ปีที่แล้ว

    這打法也可以吧
    #include
    int main(){
    int person;
    printf("Number of guests at this table:");
    scanf("%d", &person);
    int total = person*300;
    if(person < 10){
    printf("The price is:%d", total);
    }
    if(person >= 10){
    total *= 0.8;
    printf("Total:%d", total);
    }
    return 0;
    }

  • @maggieshu468
    @maggieshu468 2 ปีที่แล้ว

    //注意型別轉換
    #include
    int main(){
    int number, original;
    printf("Please enter the number of customers: ");
    scanf("%d", &number);
    original = number * 300;
    if(original >= 3000){
    printf("Total is %d", (int)(original * 0.8));
    }
    if(original < 3000){
    printf("Total is %d", original);
    }
    return 0;
    }

  • @Joy-be3gk
    @Joy-be3gk 2 ปีที่แล้ว

    #include
    int main(){
    int number, total;
    printf("Please enter the number of customers: ");
    scanf("%d", &number);
    total = 300 * number;
    if(total >= 3000){
    total *= 0.8;
    }
    printf("Total: %d
    ", total);
    return 0;
    }

  • @timma1465
    @timma1465 ปีที่แล้ว

    #include
    int main() {
    int customers , total ;
    printf("Please enter the number of customers : ");
    scanf("%d",& customers);
    if (customers >= 10){
    total = customers*0.8*300 ;
    printf("Total is %d.
    ",total);
    }
    if (customers >= 0 && customers < 10){
    total = customers*300 ;
    printf("Total is %d.
    ",total);
    }
    return 0;
    }

  • @Mrimaaron
    @Mrimaaron 2 ปีที่แล้ว

    #include
    int main () {
    int a;
    printf("please enter the number of customers: ");
    scanf("%d", &a);
    if(a >= 10) {
    a = a * 300 * 0.8;
    }
    if(a < 10) {
    a = a * 300;
    }
    printf("total:%d
    ", a);
    return 0;
    }
    my attempt

  • @zavierlin11
    @zavierlin11 2 ปีที่แล้ว

    #include
    int main()
    {
    int money=300,person;
    printf("please enter customer number:");
    scanf("%d",&person);
    money=money*person;
    if(money>=3000)
    {
    money=money*0.8;
    printf("%d",money);
    }
    else
    {
    printf("%d",money);
    }
    return 0;
    }