c語言計(jì)算三角形面積代碼
//面積公式s = (a+b+c) / 2 area = sqrt(s * (s - a) * (s - b) * (s - c));
//小作業(yè) 求三角形的面積
int check(double a);
int check2(double a, double b, double c);
#include <stdio.h>
#include <math.h>
int main(void)
{
double area = 0;
double s;
double a,b,c;
printf("請(qǐng)輸入三角形的三邊的長(zhǎng)(a b c):");
scanf("%lf %lf %lf", &a, &b, &c);
if (check(a) == 1 && check(b) == 1 && check(c) ==1)
{
if (check2(a,b,c) == 0)
{
printf("您輸入的不是三角形.請(qǐng)重新輸入\n\r");
return 0;
}
else if (check2(a,b,c) == 1)
{
s = (a+b+c) / 2;
area = sqrt(s * (s - a) * (s - b) * (s - c));
printf("該三角形的面積是:%g\n\r",area);
}
}
else
printf("輸入有誤,請(qǐng)重新輸入.\n\r");
return 0;
}
//判斷輸入的數(shù)據(jù)是否有效
int check(double a)
{
if (a > 0)
return 1;
else
return 0;
}
//判斷三角形是否有效
int check2(double a, double b, double c)
{
if ( ((a+b)<=c) | ((a+c)<=b) | ((c+b)<=a) )
return 0;
if (abs(a-b)>=c | abs(a-c)>=a | abs(c-b)>=a)
return 0;
else
return 1;
}
想了下,area不會(huì)是垃圾值啊.所以不用寫那么多行聲明變量誒.....
修改了一些
//面積公式s = (a+b+c) / 2 area = sqrt(s * (s - a) * (s - b) * (s - c));
//小作業(yè) 求三角形的面積
int check(double a);
int check2(double a, double b, double c);
#include <stdio.h>
#include <math.h>
int main(void)
{
double area,s,a,b,c;
printf("請(qǐng)輸入三角形的三邊的長(zhǎng)(a b c):");
scanf("%lf %lf %lf", &a, &b, &c);
if (check(a) == 1 && check(b) == 1 && check(c) ==1)
{
if (check2(a,b,c) == 0)
{
printf("您輸入的不是三角形.請(qǐng)重新輸入\n\r");
return 0;
}
else if (check2(a,b,c) == 1)
{
s = (a+b+c) / 2;
area = sqrt(s * (s - a) * (s - b) * (s - c));
printf("該三角形的面積是:%g\n\r",area);
}
}
else
printf("輸入有誤,請(qǐng)重新輸入.\n\r");
return 0;
}
//判斷輸入的數(shù)據(jù)是否有效
int check(double a)
{
if (a > 0)
return 1;
else
return 0;
}
//判斷三角形是否有效
int check2(double a, double b, double c)
{
if ( ((a+b)<=c) | ((a+c)<=b) | ((c+b)<=a) )
return 0;
if (abs(a-b)>=c | abs(a-c)>=a | abs(c-b)>=a)
return 0;
else
return 1;
}
相關(guān)文章
C++實(shí)現(xiàn)LeetCode(82.移除有序鏈表中的重復(fù)項(xiàng)之二)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(82.移除有序鏈表中的重復(fù)項(xiàng)之二),本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07使用C++11實(shí)現(xiàn)Android系統(tǒng)的Handler機(jī)制
這篇文章主要介紹了使用C++11實(shí)現(xiàn)Android系統(tǒng)的Handler機(jī)制,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04C++實(shí)現(xiàn)LeetCode(124.求二叉樹的最大路徑和)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(124.求二叉樹的最大路徑和),本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07C++?OpenCV實(shí)現(xiàn)之實(shí)現(xiàn)紅綠燈識(shí)別
本文以實(shí)現(xiàn)行車過程當(dāng)中的紅綠燈識(shí)別為目標(biāo),核心的內(nèi)容包括:OpenCV輪廓識(shí)別原理以及OpenCV紅綠燈識(shí)別的實(shí)現(xiàn)具體步驟,感興趣的可以了解一下2022-08-08C語言實(shí)現(xiàn)從文件讀入一個(gè)3*3數(shù)組,并計(jì)算每行的平均值
今天小編就為大家分享一篇C語言實(shí)現(xiàn)從文件讀入一個(gè)3*3數(shù)組,并計(jì)算每行的平均值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12VS2019安裝cbd調(diào)試器的實(shí)現(xiàn)步驟
本文主要介紹了VS2019安裝cbd調(diào)試器的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-12-12