#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++急急急急急急!!判断三角形类型(程序需要运用函数)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)