问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言 三角形

发布网友 发布时间:2022-04-21 23:40

我来回答

5个回答

热心网友 时间:2023-07-09 00:00

#include<stdio.h>
void main()
{
float a,b,c;
printf("输入三个数字:");
scanf("%f,%f,%f",&a,&b,&c);
if(a<b+c&&b<a+c&&c<a+c&&a>0&&b>0&&c>0)
{
if(a==b&&b==c) printf("等边三角形\n");
else if(b==c&&b!=a||a==b&&a!=c||a==c&&c!=b) printf("等腰三角形\n");
if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a)) printf("直角三角形");
}
else
{
if(a<=0||b<=0||c<=0) printf("输入数字不合法\n");
if(a>=b+c||b>=a+c||c>=a+c) printf("两边之合大于第三边\n");
}
}
我试了一下,如果把float a,b,c改为int型的话,就不会出现对a^2等式子的错误提示。我想应该是 X^Y里X必须为整形吧。还有你的if(a==b==c) 这些式子,不能那样写啊。

热心网友 时间:2023-07-09 00:01

#include <stdio.h>
void main()
{ float a,b,c;
scanf("%f %f %f",&a,&b,&c);
int type=0; //三角形类型;
if(((a<=0)||(b<=0)||(c<=0)) //不合理边长
||((a>=b+c)||(b>=a+c)||(c>=a+b))) //两边之和小于第三边
type=1;
else
{
if((a==b)&&(a==c))//等边三角形
type=2;
else
{
if((a==b)||(b==c)||(a==c))
type+=10;//等腰三角形
if(((a*a)+(b*b)==c*c)||((a*a)+(c*c)==b*b)||((c*c)+(b*b)==a*a)))
type+=20;//直角三角形
}

}
switch(type)
{
case 1: printf("不是三角形 \n");
break;
case 2: printf("等边三角形 \n");
break;
case 10: printf("等腰三角形 \n");
break;
case 20: printf("直角三角形 \n");
break;
case 30: printf("等腰直角三角形 \n");
break;
default: printf("一般三角形 \n");
break;

}
}

热心网友 时间:2023-07-09 00:01

修改好了,a==b==c不能这样用a==b!=c也一样,这里的不等于可以省略.a^2改成a*a,a为float型
#include<stdio.h>
void main()
{
float a,b,c;
printf("输入三个数字:");
scanf("%f,%f,%f",&a,&b,&c);
if(a<b+c&&b<a+c&&c<a+c&&a>0&&b>0&&c>0)
{
if(a==b&&b==c)
printf("等边三角形\n");
else if(b==c||a==b||a==c)
printf("等腰三角形\n");
else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
printf("直角三角形");
}
else
{
if(a<=0||b<=0||c<=0)
printf("输入数字不合法\n");
else if(a>=b+c||b>=a+c||c>=a+c)
printf("两边之合大于第三边\n");
}
}

热心网友 时间:2023-07-09 00:02

#include <iostream>

using namespace std;

void t(int a,int b,int c)
{
long l=a,s1=b,s2=c;
if(b>l)
{
l=b;s1=a;s2=c;
}
if(c>l)
{
l=c;s1=a;s2=b;
}

if(s1+s2<=l)cout<<"不是三角形"<<endl;
else
{
if(s1==s2&&s1!=l)cout<<"等腰三角形"<<endl;
else if(s1==s2&&s1==l)cout<<"等边三角形"<<endl;
else if(s1*s1+s2*s2==l*l)cout<<"直角三角形"<<endl;
else cout<<"一般三角形"<<endl;
}

}

void main()
{
int a,b,c;
cout<<"输入三边(a,b,c):"<<endl;
cin>>a>>b>>c;
t(a,b,c);
}

热心网友 时间:2023-07-09 00:03

if(a<b+c&&b<a+c&&c<a+c&&a>0&&b>0&&c>0)

这段错了,是C<a+b;
自己改;下边也是
if(a>=b+c||b>=a+c||c>=a+c)

是c>=a+b;

其余的没毛病,把这俩段改了就对了

搞程序要心细点啊
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
win10电脑hdmiwin10笔记本hdmi连接电视没反应 平板电脑与电视机联接华为平板怎么投屏到电视上 长虹chiq电脑无线投影如何无线把电脑屏幕投影到电视屏幕上 模拟电视电脑系统智能电视怎么变成电脑系统 ops电脑加装固态硬盘ops电脑是什么意思 我想问一下立宇泰电子的ARMSYS6410开发板可以外接什么模块? 小心那些处理过的2元绿幽灵,教你这几招就能识别! 如何辨别人民币是否水洗过,刚有兴趣做收藏可去买第四套人民币还有是否水... oppor7splus手机怎么样现在?照相好不好。是多会儿出来的机子呢。目前... ps怎么改像素大小且不模糊 房贷过了审批后一般多久放款,知道的讲下 c语言编写三角函数 用c语言程序打一个三角形 房贷多久能放款我5个多月了还没有放? 怎样能用C语言输出三角形? C语言 三角形类型 c语言编程中的三角函数怎么输入? 生肥肠自己在家怎么做熟? 生炒猪大肠怎么炒才脆嫩 怎么用c语言编写三角形 生的猪大肠如何清洗 如何手动给荣耀5笔记本电脑刷机? 房贷都是多久才会放款的? 笔记本电脑自己怎么重新刷系统 ? 生的猪大肠怎么洗干净 华硕笔记本怎么刷机 笔记本电脑怎么刷机 哪位能讲解一下生大肠的做法啊? 戴尔笔记本怎么刷机? 如果购买生肥肠回家,你知道如何快速处理清洗吗? 房贷已通过审批多久放款 C语言三角形问?麻烦你了写一下? 广东佛山顺德中国银行房贷多长时间批下来 c语言判断三角形 房贷的审批和放款需要多长时间 C语言三角形问题 c语言输出三角 c语言用*打出三角形 C语言--三角形 C语言*做个三角形 C语言 三角形数? C语言 是哪种三角形? c语言编写三角形 c语言输出三角形 如何注销实名认证 以前的忘了,怎么注销实名认证 如何注销微信实名认证 微信已实名 限制登录如何注销? 怎么把微信实名制解除 你好,微信实名制怎么注销更换