c语言中,编写一个程序,输入三角形的边长判断是何种三角形 , 怎么写#includestdio.h
int tr(double a[])//判断是否能构成三角形
{
return (a[0]=(a[1]+a[2]));
}
int zhijiao(double a[])//判断是否为直角三角形
{
if(a[0]*a[0]==(a[1]*a[1]+a[2]*a[2]))return 1;
else return 0;
}
int deng(double a[])//判断是否为等腰、等边三角形
{
long n=0;
if(a[0]==a[1])n++;
if(a[0]==a[2])n++;
if(a[1]==a[2])n++;
return n;
}
int main()
{
double a[3],c,e;
printf("输入三条边的长度:");scanf("%lf %lf %lf",a,a+1,a+2);
if(a[1]a[0]){c=a[1];a[1]=a[0];a[0]=c;}
if(a[2]a[0]){c=a[2];a[2]=a[0];a[0]=c;}
if(tr(a)){printf("无法构成三角形\n");return 0;}
c=zhijiao(a);e=deng(a);
if(e==3)printf("该三角形为等边三角形\n");
else if(ec)printf("该三角形为等腰直角三角形\n");
else if(e)printf("该三角形为等腰三角形\n");
else if(c)printf("该三角形为直角三角形\n");
else printf("该三角形为一般三角形\n");
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 + bca - bc){
if(b + cab - ca){
if(a + cba - cb){
if(a * a == b * b + c * c || b * b == a * a +c * c || c * c== a * a + b * b)
r = 1;
else if((a == ba != c) || (b == ca != b )|| (a ==cb != 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-angeldtriangle.");
else if(r == 2)
printf("It's an isosceles triangle.");
else if(r == 3)
printf("It's an equilateral triangle.");
return 0;
}
C语言判断三角形形状的代码怎么写?你要如何判断?就是直角三角形,锐角三角形和钝角三角形?
如果是这样,很好办,给你提示:
三角形大边对大角,先找到最大边,假设为c
找到最大边 , 然后计算余弦值
余弦定理:cosC=(a^2+b^2-c^2)/2ab,实际只需要比较分子的正负,如果小于0 , 表示为钝角三角形,为0表示为直角三角形,大于0表示为锐角三角形 。
如果需要代码,我再给你写,觉得对你有帮助请采纳 。上网不易,答题不易 。
用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==ba==c) cout"等边三角形"endl;
else if (a==b || a==c || b==c) cout"等腰三角形"endl;
else cout"不等边三角形"endl;
}
else cout"无法组成三角形"endl;
return(0);
}
用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==bb==ca==c)){
推荐阅读
- 为什么推荐千兆路由器设置,为什么千兆路由器网速慢
- 小米5s怎样升到安卓7.0,小米5s耗电快怎样解决
- 亲子拍手体育游戏,亲子拍手游戏视频教程
- oracle数据库用户被锁定,oracle数据库用户被锁 原因
- vb.net委托类型 vbnet override
- 为鸿蒙系统远程PC,鸿蒙远程操作父母手机
- mysql如何查询null,mysql如何查询数据库中的表
- 如何申请新媒体部,新媒体运营中心申请理由
- 判别回文数的JAVA代码 判断回文数java