从键盘上输入三个数,让他们代表三条线段的长度,判断三角形类型的C程序该怎么写,大神求带啊

从键盘上输入三个数,让他们代表三条线段的长度,判断三角形类型的C程序该怎么写,大神求带啊,第1张

#include <stdioh>  

#include <mathh>   

int main()

{  

    double a,b,c;                    //a,b,c分别代表三角形的三条边长度

    printf("输入三条边长:\n");         //提示输入a b c  

    scanf("%lf%lf%lf",&a,&b,&c);  

    if(a+b>c && a+c>b && b+c>a)      //如果可以构成三角形,则继续判断三角形类型   

    {  

        if(a == b && b ==c )         //是否为等边三角形

        {  

            printf("构成等边三角形");  

        }  

        else if(a == b || a == c || b == c)      //是否为等腰三角形

        {

            printf("构成等腰三角形");   

        }     

        else if( aa + bb == cc || aa + cc == bb || bb + cc == aa) //是否为直角

        {  

            printf("构成直角三角形");  

        }  

        else                                   //如果上面几种都不是则为普通的三角形

        {  

            printf("构成普通三角形");   

        }  

    }  

    else                            //不能构成三角形   

    {  

        printf("不能构成三角形!\n");  

    }  

    return 0;   

}

#include <iostreamh>

void main()

{

cout<<"请输入三角形三边"<<endl;

int a,b,c;

cin>>a>>b>>c;

if ((a + b) <= c || (a - b) >= c || (a+c) <= b || (a - c) >=b || (b+c)<= a || (b-c)>=a)

{

cout<<"三角形不成立!"<<endl;

}

else

{

if (a==b)

{

if (a==c)

{

cout<<"等边"<<endl;

}

else if (a!=c&&aa+bb==cc)

{

cout<<"等腰直角"<<endl;

}

else

{

cout<<"等腰"<<endl;

}

}

else if (a==c)

{

if (a==b)

{

cout<<"等边"<<endl;

}

else if (a!=c&&aa+cc==bb)

{

cout<<"等腰直角"<<endl;

}

else

{

cout<<"等腰"<<endl;

}

}

else if (b==c)

{

if (a==b)

{

cout<<"等边"<<endl;

}

else if (a!=c&&aa==cc+bb)

{

cout<<"等腰直角"<<endl;

}

else

{

cout<<"等腰"<<endl;

}

}

else

{

if (aa==cc+bb || aa+cc==bb || aa+bb==cc)

{

cout<<"直角"<<endl;

}

else

{

cout<<"其他"<<endl;

}

}

}

}

说白了是对三角形的数学判断,就是三角形三边性质,成立的条件是两边之和大于第三边,之差小于第三边。

#include <iostream>

using namespace std;

int main()

{

int s1,s2,s3;

cout<<"请输入三条边"<<endl;

cin>>s1>>s2>>s3;

if((s1+s2<=s3)||(s2+s3<=s1)||(s1+s3<=s2))

{

cout<<"不能构成三角形"<<endl;

return 0;

}

else

{

if(s1==s2&&s2==s3)

cout<<"是等边三角形"<<endl;

else if((s1==s2)||(s2==s3))

{

if((s1s1+s2s2==s3s3)||(s2s2+s3s3==s1s1)||(s1s1+s3s3==s2s2))

cout<<"是等腰直角三角形"<<endl;

else

cout<<"等腰三角形"<<endl;

}

else if((s1s1+s2s2==s3s3)||(s2s2+s3s3==s1s1)||(s1s1+s3s3==s2s2))

cout<<"直角三角形"<<endl;

else

cout<<"一般三角形"<<endl;

}

}

import javaio;

public class Test{

public static void main(String[] args)throws IOException{

int[] a=new int[3];

Systemoutprintln("请从小到大输入");

for(int i=0;i<3;i++){

BufferedReader in=new BufferedReader(new InputStreamReader(Systemin));

a[i]=IntegerparseInt(inreadLine());

}

double temp,theat,pi=31415;

if(a[0]+a[1]<a[2]||a[1]+a[2]<a[0]||a[0]+a[2]<a[1]){

Systemoutprintln("你输入的不能构成三角形");

}

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

Systemoutprintln("你输入的三角形是等腰三角形");

}

else {

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

Systemoutprintln("你输入的三角形是直角三角形");

}

temp=(double)(a[0]a[0]+a[1]a[1]-a[2]a[2])/(2a[0]a[1]);

Systemoutprintln(temp);

theat=Mathacos(temp);

//theat=(180theat)/pi;

if(theat>90&&theat<180){

Systemoutprintln("你输入的三角形是钝角三角形");

}

else if(theat<90&&theat>0){

Systemoutprintln("你输入的三角形是锐角三角形");

}

}

}}做的不是很好 可以将就下 哈

#include <iostream>

#include <cstdlib>

#include <mathh>

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(aa == bb+cc || bb == aa+cc || cc == aa+bb)

{

std::cout << "直角三角形\n";

goto exit;

}

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

exit:

system("pause");

}

代码如下:

#include <stdioh>

#include <stdlibh>

#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(!(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())!='\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程序该怎么写,大神求带啊全部的内容,包括:从键盘上输入三个数,让他们代表三条线段的长度,判断三角形类型的C程序该怎么写,大神求带啊、C语言 判断三角形的类型、c++急急急急急急!!判断三角形类型(程序需要运用函数)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9319127.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存