c語言如何判定是不是三角形,c語言怎麼判定三角形

本文目錄一覽:

用C語言判斷三角形

#include iostream.h

int main(void)

{

int a,b,c;

cout”請輸入3個參數:”endl;

cinabc;

if (!(a+b=c || a+c=b || b+c=a))

{

if (a==b a==c) cout”等邊三角形”endl;

else if (a==b || a==c || b==c) cout”等腰三角形”endl;

else cout”不等邊三角形”endl;

}

else cout”無法組成三角形”endl;

return(0);

}

請問c語言判定是三角形的條件是什麼?

任意兩邊的和大於第三邊

例如

#include “stdio.h”

int main()

{

double a,b,c;

printf(“請輸入三邊長:”);

scanf(“%lf%lf%lf”,a,b,c)

if(a+bc a+cb b+ca)

printf(“輸入三邊長可以組成一個三角形!\n”);

else

printf(“輸入三邊長不可以組成一個三角形!\n”);

}

C語言,怎麼編程判斷三角形的形狀?

代碼如下:

#include stdio.h

#include stdlib.h

#define EPSINON  1e-3

#define ABS(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(!(a0) || !(b0) || !(c0))

{

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())!=’\n’ (cs=getchar())!=EOF);

printf(“輸入錯誤,a b c必須大於零,是否新輸入(y/n):”);

}

else if(judge_err_flag)

{

judge_err_flag = 0;

while((cs=getchar())!=’\n’ (cs=getchar())!=EOF);

printf(“組不成三角形,是否重新輸入(y/n):”);

}

else

{

while((cs=getchar())!=’\n’ (cs=getchar())!=EOF);

printf(“是否再輸入一組數據(y/n):”);

}

ch = getchar();

}

while(ch==’y’ || ch==’Y’ || ch==’\n’);

puts(“Goodbye!”);

return 0;

}

關於c語言判斷是否為三角形的問題

首先是輸入3個數,即三角形三條邊,要有等於才行

前面3個條件滿足,才能構成三角形;否則不是三角形

然後判斷,是否有滿足直角形的條件;只要有兩個邊得平方等於另一個邊得平方;即使直角三角

形;輸出yes

你把最後兩個語句去掉看看,還有

else

if(c

b+c)printf(“not

a

triangle\n”);

你打錯了

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

#includestdio.h

main()

{

double a[3],b;

while(1){

scanf(“%lf %lf %lf”,a[0],a[1],a[2]);//輸入三邊 

if(a[0]0a[1]0a[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(“不是三角形\n”);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(“等腰直角三角形\n”);continue;}//兩個短邊的平方=長邊的平方就是直角  

if((int)(a[1]*a[1])+(int)(a[2]*a[2])==(int)(a[0]*a[0])){

    printf(“直角三角形\n”);continue;}

     if(a[0]==a[1]a[0]==a[2]){

    printf(“等邊三角形\n”);continue;}      

if(a[0]==a[1]||a[1]==a[2]||a[0]==a[1]){

    printf(“等腰三角形\n”);continue;}

}else

    printf(“不是三角形\n”);

}

}

//這裡計算直角三角形時,轉成int在進行比較,是為了降低精度,特別是計算等腰直角三角形,

//根號2,是無限的小數,不降低精度很難能得到的相等關係的。

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

用c語言判斷三角形

 

判斷三角形---拋磚引玉參考資料:

#include stdio.h

#include stdlib.h

void input(int a,int b,int c)

{

printf(“input the a =”);

scanf(“%d”,a);

printf(“\n”);

printf(“input the b =”);

scanf(“%d”,b);

printf(“\n”);

printf(“input the c =”);

scanf(“%d”,c);

printf(“\n”);

}

int panduan(int a,int b,int c)

{

if (a=100  a=1)

{

return 0;

exit(0);

}

if (b=100  b=1)

{

return 0;

exit(0);

}

if (c=100  c=1)

{

return 0;

exit(0);

}

if (ab+c)

if (ba+c)

if (ca+b)

return 4;

else

return 0;

}

void leixing(int i)

{

switch (i)

{

case ‘0’:

printf(“a,b,c不能組成一個三角形!\n”);

case ‘1’:

printf(“a,b,c組成了一個等邊三角形!\n”);

case ‘2’:

printf(“a,b,c組成了一個等腰三角形!\n”);

case ‘3’:

printf(“a,b,c組成了一個直角三角形!\n”);

case ‘4’:

printf(“a,b,c組成一個普通的三角形!\n”);

default:

printf(“a,b,c組成一個普通的三角形!\n”);

}

}

int dengbian(int a,int b,int c)

{

if (a==b)

if (b==c)

return 1;

else

return 0;

}

int dengyao(int a,int b,int c)

{

if (a==b ||b==c||c==a)

return 2;

else

return 0;

}

int zhijiao(int a,int b,int c)

{

if ((a*a)==(b*b)+(c*c))

{

return 3;

exit(0);

}

if ((b*b)==(c*c)+(a*a))

{

return 3;

exit(0);

}

if ((c*c)==(b*b)+(a*a))

{

return 3;

exit(0);

}

else

return 0;

}

int xingzhuang(int a,int b,int c)

{

int temp=0;

temp=dengbian(a,b,c);

if (temp)

{

return temp;

exit(0);

}

temp=dengyao(a,b,c);

if (temp)

{

return temp;

exit(0);

}

temp=zhijiao(a,b,c);

if (temp)

{

return temp;

exit(0);

}

else

return 1;

}

void main()

{

int a,b,c;

int temp;

input(a,b,c);

// printf(“%d%d%d”,a,b,c);

temp=panduan(a,b,c);

// printf(“%d”,temp);

if (temp==1)

{

temp=xingzhuang(a,b,c);

// printf(“%d”,temp);

leixing(temp);

}

else

leixing(temp);

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/237813.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:07
下一篇 2024-12-12 12:07

相關推薦

  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • Python列印數字三角形

    本文將詳細闡述如何使用Python列印數字三角形,包括從基本代碼實現到進階操作的應用。通過本文的學習,您可以掌握Python的基礎語法,同時加深對Python循環和函數的理解,提高…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28

發表回復

登錄後才能評論