国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C > 正文

如何用C語(yǔ)言判斷三角型類型

2020-02-24 14:24:32
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
在C語(yǔ)音中經(jīng)常會(huì)需要判斷三角型類型,那么你知道如何用C語(yǔ)言判斷三角型類型,對(duì)于這個(gè)問(wèn)題是不是有很多小伙伴們還是很疑惑的呢?那么下面的內(nèi)容中小編就為大家詳細(xì)介紹C語(yǔ)言判斷三角型類型的方法。

#include <stdio.h>
#include <stdlib.h>
#define?EPSINON??1e-3
#define?ABS(a)??(((a)>0)?(a):(-a)) //?:不支持表達(dá)式嵌套
#define ZERO(x)??((x)>-EPSINON && (x)<EPSINON)
#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("輸入錯(cuò)誤,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("是否再輸入一組數(shù)據(jù)(y/n):");
??}
??ch = getchar();
?}
?while(ch=='y' || ch=='Y' || ch=='/n');
?puts("Goodbye!");
?return 0;
}

上述內(nèi)容就是小編為大家介紹如何用C語(yǔ)言判斷三角型類型的內(nèi)容,俗話說(shuō)好記性不如爛筆頭,所以我們?cè)趯W(xué)習(xí)C語(yǔ)言的時(shí)候就要將平日所學(xué)所做的實(shí)驗(yàn)記錄下來(lái),以備回顧。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 岢岚县| 台东市| 清水河县| 宁海县| 高清| 哈巴河县| 黄浦区| 泰宁县| 巫山县| 吉林市| 孟州市| 大埔县| 班戈县| 淳化县| 永仁县| 阆中市| 临颍县| 平阳县| 临泽县| 贵溪市| 富蕴县| 安宁市| 万盛区| 镇赉县| 运城市| 漾濞| 阳城县| 福州市| 璧山县| 合肥市| 寻甸| 都安| 榆树市| 兴隆县| 凉山| 泰和县| 南丹县| 湟源县| 平遥县| 喀喇沁旗| 陈巴尔虎旗|