<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            C語言

            如何判斷三角形類型的c語言小程序

            時間:2025-04-27 11:09:26 C語言 我要投稿
            • 相關推薦

            如何判斷三角形類型的c語言小程序

              引導語;c語言中有很多有趣的小程序,以下是百分網小編分享給大家的如何判斷三角形類型的c語言小程序,歡迎閱讀!

              #include

              #include

              #define EPSINON 1e-3

              #define ABS(a) (((a)>0)?(a):(-a)) //?:不支持表達式嵌套

              #define ZERO(x) ((x)>-EPSINON && (x)

              #define MAX(a,b) (((a)>(b))?(a):(b))

              #define MIN(a,b) (((a)<(b))?(a):(b))

              float a, b, c;

              float max, mid, min;

              char input_err_flag = 0;

              char judge_err_flag = 0;

              int equal(float a, float b)

              {

              float tmp;

              tmp = a - b;

              tmp = ZERO(ABS(tmp));

              return tmp;

              }

              void input(void)

              {

              a = b = c = 0;

              printf("輸入三條邊的值:");

              scanf("%f %f %f",&a, &b, &c);

              if(!(a>0) || !(b>0) || !(c>0))

              {

              input_err_flag = 1;

              }

              }

              void sort(void)

              {

              max = MAX(MAX(a,b),c);

              min = MIN(MIN(a,b),c);

              if(MAX(a,b) < c)

              mid = MAX(a,b);

              else

              mid = MAX(MIN(a,b),c);

              }

              void judge(void)

              {

              float max_square, mid_square, min_square, tmp;

              if(max >= (mid+min))

              {

              judge_err_flag = 1;

              }

              else

              {

              max_square = max * max;

              mid_square = mid * mid;

              min_square = min * min;

              tmp = mid_square + min_square;

              if(equal(mid,min) || equal(max, mid))

              {

              if(equal(mid, min))

              {

              if(mid == max)

              puts("等邊三角形。");

              else if(equal(max_square, tmp))

              puts("等腰直角三角形。");

              else if(max_square < tmp)

              puts("等腰銳角三角形。");

              else

              puts("等腰鈍角三角形。");

              }

              else

              {

              if(equal(min, mid))

              puts("等邊三角形。");

              else

              puts("等腰銳角三角形。");

              }

              }

              else if(equal(max_square, tmp))

              puts("直角三角形。");

              else if(max_square < tmp)

              puts("銳角三角形。");

              else

              puts("鈍角三角形。");

              }

              }

              int main(void)

              {

              char cs, ch;

              do

              {

              input();

              sort();

              judge();

              if(input_err_flag)

              {

              input_err_flag = 0;

              while((cs=getchar())!='n' && (cs=getchar())!=EOF);

              printf("輸入錯誤,a b c必須大于零,是否新輸入(y/n):");

              }

              else if(judge_err_flag)

              {

              judge_err_flag = 0;

              while((cs=getchar())!='n' && (cs=getchar())!=EOF);

              printf("組不成三角形,是否重新輸入(y/n):");

              }

              else

              {

              while((cs=getchar())!='n' && (cs=getchar())!=EOF);

              printf("是否再輸入一組數據(y/n):");

              }

              ch = getchar();

              }

              while(ch=='y' || ch=='Y' || ch=='n');

              puts("Goodbye!");

              return 0;

              }

            【如何判斷三角形類型的c語言小程序】相關文章:

            如何判斷C語言小程序三角型類型08-27

            C語言程序的內存如何布局09-06

            c語言10個經典小程序08-09

            10個經典的C語言小程序08-11

            10個C語言經典小程序09-19

            Java程序如何調用C/C++語言函數10-29

            C語言如何提高程序效率04-10

            C語言編程程序的內存如何布局09-07

            在VS下如何運行C語言程序09-12

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院