C語(yǔ)言判斷三角形的類(lèi)型
根據(jù)輸入的三角形的三條邊判斷三角形的類(lèi)型,并輸出其面積和類(lèi)型。
算法思想
首先判斷其兩邊之和是否大于第三邊,若大于則判斷可以構(gòu)成三角形,再進(jìn)一步判斷該三角形是什么三角形,并計(jì)算這個(gè)三角形的面積;否則不能構(gòu)成三角形。
① 從鍵盤(pán)輸入三角形的三條邊。
② 判斷兩邊之和是否大于第三邊。
③ 若條件成立則判斷可構(gòu)成三角形,計(jì)算其面積,并判斷其類(lèi)型;否則判斷其不能構(gòu)成三角形。
④ 在類(lèi)型判斷中首先判斷其是否三邊相等,條件成立則判斷其為等邊三角形;否則判斷其是否有兩邊相等,條件成立則判斷其為等腰三角形;否則判斷其是否有兩邊的平方和等于第三邊的平方,條件成立則判斷其為直角三角形;否則判斷其為普通三角形。
程序代碼
#include <stdio.h>
#include <math.h>
int main()
{
float a,b,c;
float s,area;
printf("請(qǐng)輸入三角形的三條邊:\n");
scanf("%f,%f,%f",&a,&b,&c);
if(a+b>c&&b+c>a&&a+c>b)
{
s=(a+b+c)/2;
area=(float)sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形的面積是:%f\n" ,area);
if(a==b&&a==c)
printf("三角形是等邊三角形\n");
else if(a==b||a==c||b==c)
printf("三角形是等腰三角形\n");
else if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))
printf("三角形是直角三角形\n");
else
printf("三角形是普通三角形\n");
}
else
printf("不能構(gòu)成三角形\n");
return 0;
}
調(diào)試運(yùn)行結(jié)果
輸入為 3,3,3 時(shí),對(duì)應(yīng)的輸出情況如下所示:
請(qǐng)輸入三角形的三條邊:
3,3,3
三角形的面積是:3.897114
三角形是等邊三角形
輸入為 3,4,5 時(shí),對(duì)應(yīng)的輸出情況如下所示:
請(qǐng)輸入三角形的三條邊:
3,4,5
三角形的面積是:6.000000
三角形是直角三角形
總結(jié)
① 在本實(shí)訓(xùn)之前必須知道三角形的相關(guān)知識(shí),比如,怎么判斷輸入的三邊是否能構(gòu)成三角形、三角形的面積計(jì)算方法等。
② 要注意邏輯運(yùn)算符“&&”和“||”的使用,當(dāng)需要同時(shí)滿(mǎn)足多個(gè)條件時(shí),使用“&&”運(yùn)算符;而當(dāng)只需滿(mǎn)足多個(gè)條件中的一個(gè)時(shí),使用“||”運(yùn)算符。
作者:大學(xué)生新聞網(wǎng) 來(lái)源:大學(xué)生新聞網(wǎng)
發(fā)布時(shí)間:2025-03-05 閱讀:
- C語(yǔ)言求n的階乘(n!)
- 從鍵盤(pán)輸入一個(gè)數(shù),求出這個(gè)數(shù)的階乘,即 n!。
- 03-05 關(guān)注:0
- C語(yǔ)言分塊查找算法,索引順序查找算法
- 例如,采用分塊查找法在有序表 11、12、18、28、39、56、69、89、96、122、135、146、156、256、298 中查找關(guān)鍵字為 96 的元素。
- 03-05 關(guān)注:0
- C語(yǔ)言二分查找算法,折半查找算法
- 本實(shí)例采用二分查找法查找特定關(guān)鍵字的元素。要求用戶(hù)輸入數(shù)組長(zhǎng)度,也就是有序表的數(shù)據(jù)長(zhǎng)度,并輸入數(shù)組元素和査找的關(guān)鍵字。
- 03-05 關(guān)注:0
- C語(yǔ)言歸并排序算法
- 用歸并排序法對(duì)一組數(shù)據(jù)由小到大進(jìn)行排序,數(shù)據(jù)分別為 695、458、362、789、12、 15、163、23、2、986。
- 03-05 關(guān)注:0
- C語(yǔ)言選擇排序算法
- 用選擇排序法對(duì)一組數(shù)據(jù)由小到大進(jìn)行排序,數(shù)據(jù)分別為 526、36、2、369、56、45、78、92、125、52。
- 03-05 關(guān)注:0
- C語(yǔ)言快速排序算法
- 用快速排序法對(duì)一組數(shù)據(jù)由小到大進(jìn)行排序,數(shù)據(jù)分別為 99、45、12、36、69、22、62、 796、4、696。
- 03-05 關(guān)注:0