C 語言入門 | 06 - 05 | 正三角形判斷練習 (使用 if 述句)

แชร์
ฝัง

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

  • @bismarck_german
    @bismarck_german 6 ปีที่แล้ว +31

    老師,真的非常謝謝您。我是外文系的學生,看了書從第一頁就像是天書,更何況這本書還是我資工系的學長推薦我的入門好書,但還是第一頁就掛了。但老師您的影片,我從第一部馬步停蹄地看到現在,甚至這兩題題目,我都是主動先思考才繼續看老師的講解。我覺得這真的是因為老師夠會教,我才有這樣的能力先自己去思考該如何解決。再次感謝老師您的教學,我會繼續努力學習。更要謝謝您無私的奉獻與付出。

  • @lindeanchuang8115
    @lindeanchuang8115 2 ปีที่แล้ว +1

    謝謝老師,真的非常清楚,把所有可能的錯誤都提醒我們

  • @yixiaoshen5041
    @yixiaoshen5041 8 ปีที่แล้ว +8

    老师说话好温柔 讲的好清楚

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

    Enter控的正三角形判斷程式:
    #include
    int main() {
    int side1, side2, side3;
    printf("Please enter the lengths: ");
    scanf("%d", &side1);
    printf("Please enter the lengths: ");
    scanf("%d", &side2);
    printf("Please enter the lengths: ");
    scanf("%d", &side3);
    if(side1 * 3 ==side1 + side2 + side3 && side1 > 0) {
    printf("Regular triangle
    ");
    }
    return 0;
    }

  • @jessicalilithallison
    @jessicalilithallison 3 ปีที่แล้ว +6

    發現一個盲點是輸入三個0 他也會說是正三角形(我直接笑死
    所以我多加了一個if在原本的if裡面🤣
    👉if (lengtha != 0 && lengthb != 0 && lengthc != 0)
    這樣就會是最佳解了(強迫症
    但老師教的真的很棒 折扣跟這題我都能夠先想然後寫對再來看老師的用法
    折扣那題可以減少成那樣真的厲害👍

    • @吳冠霆-k4k
      @吳冠霆-k4k 2 ปีที่แล้ว +2

      用大於可能會好點

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

      @@吳冠霆-k4k 對欸!謝謝你的建議😂😂(雖然我看了幾分鐘才回想起那時候的題目😂😂

    • @幹話大師-z7y
      @幹話大師-z7y ปีที่แล้ว +1

      那你可能還要加任兩個數字加起來大於第三個數字。

  • @blackbacklu
    @blackbacklu 7 ปีที่แล้ว

    講很得仔細
    原本看書學似懂非懂
    看了老師的影片更容易理解
    int a ,b ,c ;
    printf("Please enter the lengths:");
    scanf("%d%d%d",&a,&b,&c);
    if(a==b && b==c){
    printf("regular traingle");
    }

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

      你忘了加標頭檔

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

      和int main(){
      }

  • @wei-en-life
    @wei-en-life 5 ปีที่แล้ว +5

    老師我有疑問, 當我們讓系統打出Please enter the length時, 使用者必須三個數字都要有空格分開, 不然就無法正常執行程式.
    那有沒有其他的寫法是一樣可以正常讀取沒空格的三個數字呢?
    謝謝老師的講解, 非常清楚易懂, 每天上課都很開心!

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

      我也想知道

    • @b020306123123
      @b020306123123 4 ปีที่แล้ว +11

      如果數字與數字之間沒有空格,電腦要怎麼知道三個數字分別是多少呢?
      66666 請問是三個邊長各是多少呢?
      空格只是區別三邊長,你可以替換成其他字元(char) 例如逗號
      以老師的程式碼為例 scanf("%d%d%d"); 這行的意思是說讀取三個整數
      當你輸入33 21 12,電腦從最左邊開始抓
      3是數字,3是數字,空格不是數字,所以停止第一個整數的抓取,回頭看抓了什麼數字,兩個3,所以總結第一個數字是三十三
      2是數字,1是數字,空格不是數字,所以停止第二個整數的抓取,回頭看抓了什麼數字,一個2一個1,所以總結第二個數字是二十一
      1是數字,2是數字,enter不是數字,所以停止第三個整數的抓取,回頭看抓了什麼數字,一個1一個2,所以總結第三個數字是一十二
      就算你把空格換成逗號也通。
      假設你不用空格區隔開來,你輸入333,然後用上面這個流程去跑,電腦會得到幾個邊長?
      答案是1個長度為333的邊長以及兩個長度未知的邊長,因為電腦抓完333就無法從你的鍵盤抓到任何數字,所以第二個與第三個邊長就是未知(或者說是一片混亂,沒有意義的垃圾值)

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

    其实这个编码还存在一个问题,我是10岁,刚上完四年级,这个三角形的三个边的长是有规定的,a+b必须要大于c,(如果不明白可以自己画一下图)如果不成立,他根本就不是一个三角形

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

      事实上只是判断是不是正三角形,目的是如果是则输出printf;只要三个边相等才会输出。一个边不相等都不会输出,不能构成三角形的三条边也不会输出。

    • @Kevin-v1w6t
      @Kevin-v1w6t 2 ปีที่แล้ว

      這是正三角的判斷 不是任意三角形的判斷

  • @艾謙吳
    @艾謙吳 4 ปีที่แล้ว

    照影片上的程式打完後不能執行,所以我改成
    #include
    int main(){
    int a=1;
    int b=2;
    int c=3;
    printf("please enther the legngths:");//長度
    scanf("%d%d%d",&a,&b,&c);
    if(a==b && a==b){
    printf("correct");//正確
    }
    return 0;
    }

    • @jessicalilithallison
      @jessicalilithallison 3 ปีที่แล้ว +2

      可以執行吧 只是我們還要手動輸入數字進去~ 營造跟程式互動的感覺🤣

    • @艾謙吳
      @艾謙吳 3 ปีที่แล้ว +1

      @@jessicalilithallison 我再試試看

  • @莊定凱-d9v
    @莊定凱-d9v ปีที่แล้ว +2

    老師 我想請問一下 到底哪裡才需要用到

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

      老師,我也想知道+1!

  • @19liu48
    @19liu48 4 ปีที่แล้ว

    感謝老師的教學(感動

  • @蘇家禹
    @蘇家禹 5 ปีที่แล้ว +2

    還需加一個條件,三邊任一邊都不能為0

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

      而且任兩邊和要大於第三邊

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

    依照老師打的,但%d 那邊出錯了,是什麼問題?

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

    可以用感嘆號作運算嗎?
    #include
    int main() {
    int a, b, c;
    printf("Please enter the lengths:");
    scanf("%d%d%d", &a, &b, &c);
    if(a == b && b == c) {
    printf("It is a regular triangle");
    }
    if(!(a == b && b == c)) {
    printf("It is not a regular triangle");
    }
    return 0;
    }

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

      #include "stdafx.h"
      #include
      int main() {
      int a, b, c;
      printf("Please enter the lengths:");
      scanf("%d%d%d", &a, &b, &c);
      if(a == b && b == c) {
      printf("It is a regular triangle
      ");
      }
      else {
      printf("It \"not\" regular triangle
      ");
      }
      //if(!(a == b && b == c)) {
      // printf("It is not a regular triangle
      ");
      //}

      return 0;
      }

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

    #include
    int main()
    {
    int a,b,c;
    printf("输入三条边长度:
    ");
    scanf("%d,%d,%d",&a,&b,&c);
    if(a==b||a==c||b==c) {
    if(a==b&&a==c&&b==c) {
    printf("该三角形为等边三角形.
    ");
    };
    printf("该三角形为等腰三角形.
    ");
    };
    if(a!=b&&a!=c&&b!=c) {
    printf("该三角形为不规则三角形.
    ");
    };
    return 0;
    }

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

    {
    int size1, size2, size3;
    printf("请输入三角形三边长度:");
    scanf("%d%d%d", &size1, &size2, &size3);
    if (size1 == size2 && size1 == size3)
    {
    printf("三角形为正三角形!
    ");
    }
    else
    {
    printf("该三角形不是正三角形!");
    }
    return 0;
    }

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

      int a,b,c;
      printf("請輸入三個邊的邊長:");
      scanf("%d%d%d",&a,&b,&c);
      if(a==b){
      if(b==c){
      printf("正三角形!!
      ");
      }
      }
      else{
      printf("非正三角形");
      }
      return 0;
      }
      請問下為何輸入長度不同卻沒有執行下面那一段

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

    2024/7/26簽到

  • @刘书淼
    @刘书淼 7 ปีที่แล้ว

    但是我总是得不出结果,请问什么原因?代码一模一样。

    • @WenHaoChen-j7w
      @WenHaoChen-j7w 4 ปีที่แล้ว +3

      每個數字都要空格 例如:44 44 44

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

    賽德克巴萊

  • @sleepy_ice-0
    @sleepy_ice-0 4 หลายเดือนก่อน +1

    #include
    int main(){
    int lengths1,lengths2,lengths3;
    printf("Please enter the first lengths: ");
    scanf("%d", &lengths1);
    printf("Please enter the second lengths: ");
    scanf("%d", &lengths2);
    printf("Please enter the third lengths: ");
    scanf("%d", &lengths3);
    if(lengths1

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

    #include
    int main()
    {
    int a,b,c;
    printf("please enter the length:");
    scanf("%d %d %d",&a,&b,&c);
    if(a>0 && b>0 && c>0)
    {
    if(a==b && b==c)
    {
    printf("Regular Triangle
    ");
    }
    else
    {
    printf("Not Regular Triangle
    ");
    }
    }
    else
    {
    printf("請輸入大於0的整數");
    }
    return 0;
    }