Ⅰ c語言判斷三角形
#include <stdio.h>
int main()
{
int a,b,c;
printf("輸入三角形的拍手三條襲祥嫌邊: ");
scanf("%d%d%d",&a,&b,&c);
if(a+b>c && a+c>b && b+c>a)
printf("三角形的周長為: %d\n",a+b+c);
else
printf("No\n");
return 0;
}示例運行結果:
輸入三角宴好形的三條邊:
3
4
5
三角形的周長為:
12
輸入三角形的三條邊:
1
5
6
No
Ⅱ C語言,怎麼編程判斷三角形的形狀
代碼如下:
#include <stdio.h>
#include <stdlib.h>
#defineEPSINON1e-3
#defineABS(a)(((a)>0)?(a):(-a)) //?:不支持表達式嵌套
#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())!='
' && (cs=getchar())!=EOF);
printf("輸入錯誤,a b c必須大於零,是否新輸入(y/n):");
}
else if(judge_err_flag)
{
judge_err_flag = 0;
while((cs=getchar())!='
' && (cs=getchar())!=EOF);
printf("組不成三角形,是否重新輸入(y/n):");
}
else
{
while((cs=getchar())!='
' && (cs=getchar())!=EOF);
printf("是否再輸入一組數據(y/n):");
}
ch = getchar();
}
while(ch=='y' || ch=='Y' || ch=='
');
puts("Goodbye!");
return 0;
}
Ⅲ c語言:輸入三角形的兩個內角,判斷三角形類型(銳角三角形,直角三角形,鈍角三角形)
根據輸入的三角形的三邊判斷三角形的類型,並輸出其面積和類型。
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
float a, b, c;
float s, area;
printf("please input three line:\n");
scanf("%f%f%f", &a, &b, &c);
//判斷是否滿足三角形條件:兩邊之和是否大於第三邊;
if (a + b > c&&b + c > a&&a + c > a)
{
s = (a + b + c) / 2;
area = (float)sqrt(s*(s - a)*(s - b)*(s - c));//三角形面積計算;
printf("the area is: %f", area);
printf("\n");
//判斷三條邊是否相等;
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("三邊不能構成三角形\n");
}
system("pause");
return 0;
}
此處應該注意「&&」和「||」的正確使用。
使用「&&」邏輯與運算符,需要同時滿足多種情況時。
使用「||」邏輯或運算符,需要滿足幾種情況中的一種時。
Ⅳ C語言判斷三角形
#include<stdio.h>
voidBubbleSort(int*pData,intcount)
{
inttemp;
for(inti=1;i<count;i++)
{
for(intj=count-1;j>=i;j--)
{
if(pData[j]<pData[j-1])
{
temp=pData[j-1];
pData[j-1]=pData[j];
pData[j]=temp;
}
}
}
}
intmain()
{
intdata[3]={0};
printf("輸入: ");
for(inti=0;i<3;i++)
{
scanf_s("%d",data+i);
}
BubbleSort(data,3);
inta=data[0],b=data[1],c=data[2];
if(a+b>c&&b-a<c)
{
printf("能構成三角形 ");
if((a^2)+(b^2)<(c^2))
{
if(a==b||a==c||b==c)
{
if(a==b==c)
{
printf("等邊三角形 ");
}
printf("等腰三角形 ");
}
printf("銳角三角形 ");
}
elseif((a^2)+(b^2)==(c^2))
{
printf("直角三角形 ");
}
else
printf("鈍角三角形 ");
}
return0;
}
Ⅳ 如何用C語言編寫程序,判斷是不是三角形
需要准備的材料分別有:電腦、C語言編譯器。
1、首先,打開C語言編譯器,新建一個初始.cpp文件陪旁乎,例如:test.cpp。
Ⅵ 用c語言判斷三角形是什麼三角形
用c語言判斷三角形是什麼三角形:
首先判斷其兩邊之和是否大於第三邊,若大於則判斷可以構成三角形,再進一步判斷該三角形是什麼三角形,並計算這個三角形的面積;否則不能構成三角形。
① 從鍵盤輸入三角形的三條邊。
② 判斷兩邊之和是否大於第三邊。
③ 若條件成立則判斷可構成三角形,計算其面積,並判斷其類型;否則判斷其不能構成三角形。
④ 在類型判斷中首先判斷其是否三邊相等,條件成立則判斷其為等邊三角形;否則判斷其是否有兩邊相等,條件成立則判斷其為等腰三角形;否則判斷其是否有兩邊的平方和等於第三邊的平方,條件成立則判斷其為直角三早備角形;否則判斷其為普通三角形。橋老
C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著跨平台的特性,敏睜升以一個標准規格寫出的C語言程序可在包括類似嵌入式處理器以及超級計算機等作業平台的許多計算機平台上進行編譯。
Ⅶ C語言 判斷三角形的類型
#include<stdio.h>
int
main(){
float
a,b,c,temp;
do{
printf("Please
input
a,b,c:\n");
scanf("%f%f%f",&a,&b,&c);
/*對a,b,c從小到大排序*/
if(a>b){temp=a;a=b;b=temp;}
if(a>c){temp=a;a=c;c=temp;}
if(b>c){temp=b;b=c;c=temp;}
if(a+b>c)break;
else
{printf("三角形不成立\n");}
}while(1);
if(a==b&b==c)printf("等邊三角形\n");
else
if(a==b)
if(a*a+b*b==c*c)printf("等腰直角三角形\n");
else
printf("等腰三角形\n");
else
if(a*a+b*b==c*c)printf("直角三角形\n");
else
printf("一般三角形\n");
}
你可以試驗一下,基本滿足要求,只有等腰直角三角形,不好測試,因為肯定有邊是帶根號的
無法輸入根號的數據啊
Ⅷ c語言判斷三角形
#
include
<stdio.h>
#
include
<math.h>
void
main()
{
int
a,b,c;
double
q,s;
printf("please
input
a,b
and
c\n");
scanf("%d%d%d",&a,&b,&c);
if(!(a>0
&&
b>0
&&
c>0))
{
printf("a
or
b
or
c
is
negative...");
}
if(!((a+b)>c
&&
(b+c)>a
&&
(a+c)>b))
{
printf("不能構成三角形\n");
}
else
{
q=(a+b+c)/2.0;
s=sqrt(q*(q-a)*(q-b)*(q-c));
if(a==b
||
b==c
||
a==c)
{
if(a==b
&&
b==c)
{
printf("是等邊三角形,面積是%lf\n",s);
}
else
{
printf("是等腰三角形,面積是%lf\n",s);
}
}
else
if((a*a+b*b==c*c)
||
(a*a+c*c==b*b)
||
(c*c+b*b==a*a))
{
printf("是直角三角形,面積是%lf\n",s);
}
else
{
printf("是一般三角形,面積是%lf\n",s);
}
}
}
Ⅸ C語言輸入三角形的三條邊,判斷它是何種類型的三角形(等邊三角形等腰三角形直角
程序應該沒有問題的:
#include<stdio.h>
intmain()
{
floata,b,c;
printf("請輸入邊長:
");
scanf("%f,%f,%f",&a,&b,&c);
if(a+b>c||a+c>b||b+c>a)//***這里要去掉=號
{
if(a==b&&a==c)//這里||改為&&
printf("等邊三角形
");
elseif((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))
printf("直角三角形
");
elseif(a==b||a==c||b==c)//這里&&改為||
printf("等腰三角形
");
else
printf("一般三角形
");
}
else
printf("不構成三角形
");
return0;
}
Ⅹ 用C語言編寫一個判斷三角形的函數,求大佬幫忙修改!
#include<stdio.h>
#include<math.h>
main()
{floata,b,c;
floats,area;
scanf("%f,%f,%f",&a,&b,&c);
if(a+b>c&&b+c>a&&a+c>b)
{s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c)); //有改動
printf("theareais:%f
",area);
if(a==b&&a==c)
printf("equilateraltriangle
");
elseif(a==b||b==c||a==c)
printf("isocelestriangle
");
elseif(fabs(a*a+b*b-c*c)<1e-8||fabs(a*a+c*c-b*b)<1e-8||fabs(b*b+c*c-a*a)<1e-8) //有改動
printf("rightangledtriangle
");
else
printf("triangle");
}
else
printf("cannotcomposetriangle");
}