C语言三角形问?麻烦你了写一下?
发布网友
发布时间:2022-04-21 23:40
我来回答
共1个回答
热心网友
时间:2023-08-08 19:52
/*三角形问题可以更详细地描述为:
三角形问题:输入三个整数a、b和c分别作为三角形
的三条边,要求a、b和c必须满足以下条件:
Con 1.1≤a≤100 Con 4.a<b+c
Con 2.1≤b≤100 Con 5.b<a+c
Con 3.1≤c≤100 Con 6.c<a+b
如果a、b和c满足Con1、Con2和Con3,则输出为四种情况之一:
1).如果不满足条件Con 4、Con 5和Con 6中有一个,则程序
输出为"非三角形"。
2).如果三条边相等,则程序输出为"等边三角形"。
3).如果恰好有两条边相等,则程序输出为"等腰三角形"。
4).如果三条边都不相等,则程序输出为"一般三角形"
1测试内容
输入为三角形的三条边,
要求输入值为正整数,否则提示"输入不合法"
要求三边长度都在20~80之间,否则提示"边长超出范围"
如果不能构成三角形,则输出"非三角形"
若三边相等,则输出为"等边三角形"
若有两边相等,则输出"等腰三角形"
若三边都不相等,则输出"一般三角形"
若有一个直角,则输出"直角三角形"
若有一个直角,并且有两边相等,则输出"等腰直角三角形"*/
#include <iostream>
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b>>c;
if(a<=0 || b<=0 || c<=0)
cout<<"输入不合法"<<endl;
else
if(a>=20 && a<=80 && b>=20 && b<=80 &&c>=20 && c<=80 )
cout<<"边长超出范围" <<endl;
else
if(a+b<=c || b+c<=a || a+c<=b)
cout<<"非三角形"<<endl;
else
if(a==b && b==c && a==c)
cout<<"等边三角形"<<endl;
else
{
if(a==b && b!=c ||a==c && b!=c || b==c && a!=b)
{
if(a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a)
cout<<"等腰直角三角形"<<endl;
else
cout<<"等腰三角形"<<endl;
}
else
if(a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a)
cout<<"直角三角形"<<endl;
else
cout<<"一般三角形"<<endl;
}
return 0;
}
追问c:\program files\microsoft visual studio\vc98\include\eh.h(32) : fatal error C1189: #error : "eh.h is only for C++!"
朋友 就这一个错误啊 兄弟
追答
那是你的环境的问题,我这里没有错误
修改程序吧
#include <iostream> 改成 #include <stdio.h>
第二行去掉
把 cin>>a>>b>>c ; 改成 scanf("%d%d%d",&a,&b,&c);
把所有的cout<<"..."<<endl; 修改成printf("...\n");