c說話盤算三角形面積代碼。本站提示廣大學習愛好者:(c說話盤算三角形面積代碼)文章只能為提供參考,不一定能成為您想要的結果。以下是c說話盤算三角形面積代碼正文
//面積公式s = (a+b+c) / 2 area = sqrt(s * (s - a) * (s - b) * (s - c));
//小功課 求三角形的面積
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("請輸出三角形的三邊的長(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("您輸出的不是三角形.請從新輸出\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("輸出有誤,請從新輸出.\n\r");
return 0;
}
//斷定輸出的數據能否有用
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不會是渣滓值啊.所以不消寫那末多行聲明變量诶.....
修正了一些
//面積公式s = (a+b+c) / 2 area = sqrt(s * (s - a) * (s - b) * (s - c));
//小功課 求三角形的面積
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("請輸出三角形的三邊的長(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("您輸出的不是三角形.請從新輸出\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("輸出有誤,請從新輸出.\n\r");
return 0;
}
//斷定輸出的數據能否有用
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;
}