當前位置:首頁 » 編程語言 » c語言判斷三角形類型程序
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言判斷三角形類型程序

發布時間: 2022-09-02 02:06:24

『壹』 c語言編寫程序 判斷是何種三角形

#include <iostream>
#include <cstdlib>
#include <math.h>

int main()
{
std::cout << "請分別輸入三角形的三邊長\n";
int a;
std::cin >> a;
int b;
std::cin >> b;
int c;
std::cin >> c;

if(a + b <= c||a + c <= b||b + c <= a){
std::cout << "不能夠成三角形\n";
goto exit;
}
double p,s;
p = (a+b+c)/2;
s = sqrt(p*(p-a)*(p-b)*(p-c));
std::cout << "面積為" << s << "\n";

if(a == b && b == c)
{
std::cout << "等邊三角形\n";
goto exit;
}

if(a == b||a == c||b == c)
{
std::cout << "等腰三角形\n";
}

if(a*a == b*b+c*c || b*b == a*a+c*c || c*c == a*a+b*b)
{
std::cout << "直角三角形\n";
goto exit;
}

std::cout << "一般三角形\n";

exit:
system("pause");
}

『貳』 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語言編寫一個判定三角形的程序

void judge(int a,int b,int c) //判斷三角形
{if(a+b>c&&b+c>a&&a+c>b)
else
if(a==b||b==c||a==c)
{ if(a==b==c)
printf("等邊三角形");
else
printf("等腰三角形");
}
else
printf("不規則三角形");
else
printf("不是三角形");
}
void print(int d) //輸入1-200之間的數
{do{scanf("%d",&d);} while(d<1||d>200);}
main()
{int a,b,c;
print(a);
print(b);
print(c);
judge(a,b,c);
}

『肆』 c語言 判斷三角形類型 簡單代碼

#include <stdio.h>
int main()
{
int a,b,c,i,n;
printf("請輸三角形個數:");
scanf("%d",&n);
printf("\n");
for(i=1;i<=n;i++)
{ printf("請輸三角形邊長:");
scanf("%d",&a);
printf("\n");
printf("請輸三角形邊長:");
scanf("%d",&b);
printf("\n");
printf("請輸三角形邊長:");
scanf("%d",&c);
printf("\n");
if(a+b<=c||a+c<=b||b+c<=a)
printf("invalid!\n");
else
{
if(a==c||a==b||b==c)
{
if(a==c&&a==b)
printf("等邊三角形!\n");
else
printf("等腰三角形!\n");
}
else printf("斜三角形!\n");
}
}
//getchar();
return 0;
}

『伍』 c語言判斷三角形形狀

你對r賦值的時候用了兩個等於號「==」,賦值用一個等於號,判斷 的時候採用兩個!
而且輸出語句應該放在第一個if外面,應該就這兩個問題,代碼如下:
#include <stdio.h>
int main(){
int a, b, c, r;
printf("Please input three integers:\n");
scanf("%d%d%d",&a,&b,&c);
if(a == b ==c) r = 3;
else{
if(a + b > c && a - b < c){
if(b + c > a && b - c < a){
if(a + c > b && a - c < b){
if(a * a == b * b + c * c || b * b == a * a +c * c || c * c == a * a + b * b)
r = 1;
else if((a == b && a != c) || (b == c && a != b )|| (a ==c && b != a))
r = 2;
else
r = 0;
}
else
r = -1;
}
else
r = -1;
}
else
r =-1;

}
if(r == -1)
printf("Tt's not an integer.");
else if(r == 0)
printf("It's an scalenous triangle.");
else if(r == 1)
printf("It's an right-angeld triangle.");
else if(r == 2)
printf("It's an isosceles triangle.");
else if(r == 3)
printf("It's an equilateral triangle.");
return 0;
}

『陸』 C語言判斷三角形類型

#include
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語言設計一程序判別三角形

錯誤太多了,就不指出哪裡修改了(分5大類錯誤,1缺少分號,2.{}不配對,3相等關系用==,4.邏輯判斷有誤5.對三角形成立的條件理解不正確【必須任意兩邊之和大於第三邊,而不是≥第三遍】),直接貼上正確的代碼
#include <stdio.h>
int main(void){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if (a+b<=c||a+c<=b||b+c<=a){
printf("\n不能構成三角形:");
}
else if((a==b||a==c||b==c)&&!(a==b&&b==c&&a==c)){
printf("\n等腰三角形:");
}
else if(a==b&&b==c&&a==c){
printf("\n等邊三角形:");
}
else if(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b){
printf("\n直角三角形:");
}
else if((a==b&&a*a+b*b==c*c)||(b==c&&b*b+c*c==a*a)||(a==c&&a*a+c*c==b*b))
printf("\n等腰直角三角形:");
else
printf("\n一般三角形:");
return 0;
}

『捌』 怎樣用C語言判斷三角形類型(等邊,等腰,直角,等腰直角)

#include<stdio.h>
main()
{
doublea[3],b;
while(1){
scanf("%lf%lf%lf",&a[0],&a[1],&a[2]);//輸入三邊
if(a[0]>0&&a[1]>0&&a[2]>0){//三邊中任何一邊都得大於0
if(a[0]<a[1]){b=a[0];a[0]=a[1];a[1]=b;}//將最大的邊交換到a[0]中
if(a[0]<a[2]){b=a[0];a[0]=a[2];a[2]=b;}
if(a[1]+a[2]<=a[0]){
printf("不是三角形 ");continue;}//兩個短邊之和不大於第三邊,不是三角形
if(((int)(a[1]*a[1])+(int)(a[2]*a[2])==(int)(a[0]*a[0]))&&(a[0]==a[1]||a[1]==a[2]||a[0]==a[1])){
printf("等腰直角三角形 ");continue;}//兩個短邊的平方=長邊的平方就是直角
if((int)(a[1]*a[1])+(int)(a[2]*a[2])==(int)(a[0]*a[0])){
printf("直角三角形 ");continue;}
if(a[0]==a[1]&&a[0]==a[2]){
printf("等邊三角形 ");continue;}
if(a[0]==a[1]||a[1]==a[2]||a[0]==a[1]){
printf("等腰三角形 ");continue;}
}else
printf("不是三角形 ");
}
}
//這里計算直角三角形時,轉成int在進行比較,是為了降低精度,特別是計算等腰直角三角形,
//根號2,是無限的小數,不降低精度很難能得到的相等關系的。

如圖所示,望採納。。。。。。

『玖』 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語言:三角形類型判斷(循環)

按照你的要求編寫的判斷三角形類型的C語言程序如下

#include<stdio.h>
#include<math.h>
floatcal_area(floata,floatb,floatc){
floatp,s;
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
returns;
}
intmain(){
inti,n;
floata,b,c,e=0.001;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%f%f%f",&a,&b,&c);
if(a+b<=c||a+c<=b||b+c<=a){
printf("notriangle ");
}elseif(fabs(a-b)<e&&fabs(b-c)<e){
printf("equilateraltriangle,");
printf("%.1f ",cal_area(a,b,c));
}elseif((fabs(a-b)<e||fabs(b-c)<e||fabs(a-c)<e)&&(fabs(a*a+b*b-c*c)<e||fabs(a*a+c*c-b*b)<e||fabs(b*b+c*c-a*a)<e)){
printf("isoscelesrighttriangle,");
printf("%.1f ",cal_area(a,b,c));
}elseif(fabs(a-b)<e||fabs(b-c)<e||fabs(a-c)<e){
printf("isoscelestriangle,");
printf("%.1f ",cal_area(a,b,c));
}elseif(fabs(a*a+b*b-c*c)<e||fabs(a*a+c*c-b*b)<e||fabs(b*b+c*c-a*a)<e){
printf("righttriangle,");
printf("%.1f ",cal_area(a,b,c));
}else{
printf("generaltriangle,");
printf("%.1f ",cal_area(a,b,c));
}
}
return0;
}


運行結果
3
3.02.06.0
notriangle
3.04.05.0
righttriangle,6.0
1.01.01.414
isoscelesrighttriangle,0.5