<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. 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

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人