判断三角形形状的c语言判断构成三角形程序怎么写

欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 6366 人关注过本帖
标题:C语言中三角形的判别?
等 级:新手上路
帖 子:28
&&问题点数:0&&回复次数:13&&&
C语言中三角形的判别?
#include &math.h&
void main()
{float a,b,c,p,s;
scanf(&%f%f%f&,&a,&b,&c);
if(a+b&c&&b+c&a&&a+c&b);
printf(&构成三角形&);
if(a==b||b==c||a==c);
printf(&构成等腰三角形&);
if(a==b&&a==c);
printf(&构成等边三角形&);
if(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b);
printf(&构成直角三角形&);
printf(&不构成三角形&);
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf(&s=%2.f\n&,s)}
搜索更多相关主题的帖子:
来 自:山東臨沂
等 级:贵宾
威 望:12
帖 子:337
你的程序有部分错误
#include &stdio.h&
#include &math.h&
void main()
{float a,b,c,p,s;
scanf(&%f%f%f&,&a,&b,&c);
if(a+b&c&&b+c&a&&a+c&b)&&&&&&&&&&&&&&& //后面的分号删掉
printf(&构成三角形&);
if(a==b||b==c||a==c)&&&&&&&&&&&&&&&&&& //同上
printf(&构成等腰三角形&);
if(a==b&&a==c)&&&&&&&&&&&&&&&&&&&&&&&&&&&//同上
printf(&构成等边三角形&);
if(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b)&&& //同上
printf(&构成直角三角形&);
else&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //else后无if
printf(&不构成三角形&);
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf(&s=%2.f\n&,s);}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//语句后加分号
等 级:新手上路
帖 子:28
来 自:湖北
等 级:新手上路
帖 子:24
#include &math.h&
void main()
{float a,b,c,p,s;
scanf(&%f%f%f&,&a,&b,&c);
if(a+b&c&&b+c&a&&a+c&b)
&&{printf(&构成三角形&);
&&&if(a==b||b==c||a==c)
&&&&&printf(&构成等腰三角形&);
&&&if(a==b&&a==c)
&&&&&printf(&构成等边三角形&);
&&&if(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b)
&&&&&printf(&构成直角三角形&);
else if(1) /*直接else最干净*/
printf(&不构成三角形&);
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf(&s=%2.f\n&,s)}
你觉得这个程序能达到目的吗?这是我改的,else总是与最近的if配对,不加{}的话程序中else就与
&&&if(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b)
&&&&&printf(&构成直角三角形&);
中if搭配了(因为我的是vista系统,暂时没有安TC,所以还没有运行上面程序,个人意见,供楼主参考)
来 自:湖北
等 级:新手上路
帖 子:24
[bo][un]ensky_cy[/un] 在
16:45 的发言:[/bo]
#include &math.h&
void main()
{float a,b,c,p,s;
scanf(&%f%f%f&,&a,&b,&c);
if(a+b&c&&b+c&a&&a+c&b)
&&{printf(&构成三角形&);
&&&if(a==b||b==c||a==c)
&&&&&printf(&构成等腰三角形&);
&&&if(a==b&&a= ...
最后一句要加‘;’,我忘加了
来 自:中國_廈門
等 级:新手上路
帖 子:116
我看你還是不要下載TC比較好,因為它有的時候判斷不好?
你查不出程序錯在那裏~ 所以還是用DEV-C++這個編譯吧~
我只是這樣說,看你個人愛好~
補充:&&我不是做廣告的~~
在TC裏面用 void main()不會提示錯誤,可以 DEV-C++就會提示~ 這是有點區別的~
還是看你個人啦~
只要我用心,沒有不成功.
在學習中不斷失敗,必然是提高自己的一種手段.
来 自:中國_廈門
等 级:新手上路
帖 子:116
[bo][un]ensky_cy[/un] 在
16:45 的发言:[/bo]
#include &math.h&
void main()
{float a,b,c,p,s;
scanf(&%f%f%f&,&a,&b,&c);
if(a+b&c&&b+c&a&&a+c&b)
&&{printf(&构成三角形&);
&&&if(a==b||b==c||a==c)
&&&&&printf(&构成等腰三角形&);
&&&if(a==b&&a= ...
你這樣寫後面printf(&&);都會輸出的,所以我幫你改了下~不知道是不是LZ想要的結果~&&希望對你有幫助~
#include&stdio.h&
#include&stdlib.h&
#include&math.h&
int main(void)
&&&&float a,b,c,p,s;
&&&&scanf(&%f%f%f&,&a,&b,&c);
&&&&if(a+b&c&&b+c&a&&a+c&b)
&&&&&&&&printf(&构成三角形\n&);
&&&&else if(a==b||b==c||a==c)
&&&&&&&&printf(&构成等腰三角形\n&);
&&&&else if(a==b&&a==c)
&&&&&&&&printf(&构成等邊三角形\n&);
&&&&else if(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b)
&&&&&&&&printf(&构成直角三角形\n&);
&&&&&&&&printf(&不构成三角形\n&);
&&&&p=(a+b+c)/2;
&&&&s=sqrt(p*(p-a)*(p-b)*(p-c));
&&&&printf(&s=%2.f\n&,s);
&&&&system(&pause&);
&&&&return 0;
只要我用心,沒有不成功.
在學習中不斷失敗,必然是提高自己的一種手段.
来 自:中國_廈門
等 级:新手上路
帖 子:116
起先幫你改的後面部份還是有問題,所以我現在幫你重新修改...
因為其先那樣改後面部分如果輸入不能構能三角形應該現實提示不能構成三角形後退出程序...
如果像你那樣,後面求面積部份還是會執行的~
所以這樣應該達不到題目的要求~&&不知道我做的對不對,供參考~
所以標紅色部份為修改部份如下:
#include&stdio.h&
#include&stdlib.h&
#include&math.h&
int main(void)
&&&&float a,b,c,p,s;
&&&&scanf(&%f%f%f&,&a,&b,&c);
&&&&if(a+b&c && b+c&a && a+c&b)
&&&&&&&&printf(&构成三角形\n&);
&&&&else if(a==b || b==c || a==c)
&&&&&&&&printf(&构成等腰三角形\n&);
&&&&else if(a==b && a==c && b==c)
&&&&&&&&printf(&构成等邊三角形\n&);
&&&&else if(a*a+b*b==c*c || b*b+c*c==a*a || a*a+c*c==b*b)
&&&&&&&&printf(&构成直角三角形\n&);
&&&&&&&&printf(&不构成三角形\n&);
&&&&&&&&system(&pause&);
&&&&&&&&return 0;
&&&&p=(a+b+c)/2;
&&&&s=sqrt(p*(p-a)*(p-b)*(p-c));
&&&&printf(&s=%2.f\n&,s);
&&&&system(&pause&);
&&&&return 0;
[[it] 本帖最后由 hxlou520 于
17:44 编辑 [/it]]
只要我用心,沒有不成功.
在學習中不斷失敗,必然是提高自己的一種手段.
来 自:湖北
等 级:新手上路
帖 子:24
??????
8楼有没有试过输入0,0,0三个数,看是什么结果?????
来 自:中國_廈門
等 级:新手上路
帖 子:116
我想請教下8#,你的意思是不是想說輸入三個0是不是輸出錯誤?
只要我用心,沒有不成功.
在學習中不斷失敗,必然是提高自己的一種手段.
版权所有,并保留所有权利。
Powered by , Processed in 0.024538 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved一道C语言题:输入三角型的三条边,判断三角形的形状.假设输入的三边边长均>0.我写的是:#include"stdio.h"main(){int a,b,c;scanf("%d%d%d",&a,&b,&c);if(a+b
笨蛋淘纸3lf5
if else if 后面不能加分号;,如果加分号,表示该条件成立时什么都不做,去掉就可以,测试通过,你试一下,有疑问请追问,多谢 #include //输入输出使用的是标准库,要使用main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
谢谢,但我还有两个问题:1,(stdio.h)书上用的 ”“,老师用的,有什么区别?2,return有什么用?每次我不用它结果也可以。
1 区别在于预处理程序时搜索头文件的顺序不同:带尖括号的格式在编译器自带的头文件或外部库的头文件中搜索被包含的头文件;带引号的格式先在应用程序的源代码文件中搜索被包含的头文件,如果找不到,再搜索编译器自带的头文件。
编程的时候一般这样用:系统自带的头文件用尖括号,自己写的头文件用引号" "。
2 函数返回类型不是void时,都需要返回值,这个是C语言语法规定的
为您推荐:
其他类似问题
扫描下载二维码请问c语言判定是三角形的条件是什么?
立马的春天36
是三角形成立的条件么?可以用两边之和大于第三边来判断.也就是a+b>c, a+c>b, b+c>a.就这三个条件
语言a,b,c都大于0吗?
嗯嗯,那是肯定的嘛!边长哪有为负的
需要将a,b,c加入条件吗
但程序中没有加呢?
你可以用scanf函数从键盘获取三个数,然后用这三个条件判断,当然这三个条件是同时成立的
可以这么判断if(条件一&&条件二&&条件三)
为您推荐:
其他类似问题
扫描下载二维码// 测试用例:
//&&&&&&&&& 直角三角形:3 4 5
//&&&&&&&&& 钝角三角形:3 5 7
//&&&&&&&&& 锐角三角形:6 6 6
#include &stdio.h&
#include &stdlib.h&
// test if the three number is a triangle
&int isTriangle(int a, int b, int c)
&&& if ((a & 0) && (b & 0) && (c & 0)
&&&&&&& && (a & b + c) && (b & a + c) && (c & a + b))
&&&&&&& return 1;
&&&&&&& return 0;
// output the triangle
void judge(int max, int a, int b)
&&& if (max * max == (a * a + b * b))
&&&&&&& printf(&直角三角形\n&);
&&&&&&& // 根据余弦定理来判定
&&&&&&& if (a * a + b * b - max * max & 0)
&&&&&&&&&&& printf(&锐角三角形\n&);
&&&&&&& else if (a * a + b * b - max * max & 0)
&&&&&&&&&&& printf(&钝角三角形\n&);
int main()
&&& int a, b,
&&& printf(&Enter three number to test if the three numbers can be made a triangle\n&);
&&& scanf(&%d& , &a);
&&& scanf(&%d&, &b);
&&& scanf(&%d&, &c);
&&& if(isTriangle(a, b, c))
&&&&&&& // a &= b and c
&&&&&&& if ( (a &= b) && (a &= c) )
&&&&&&&&&&& judge(a, b, c);
&&&&&&& // b &=& a and c
&&&&&&& else if ( (b &= a) && (b &= c) )
&&&&&&&&&&& judge(b, a, c);
&&&&&&& // c &= a and b
&&&&&&& else if( (c &= a) && (c &= b) )
&&&&&&&&&&& judge(c, a, b);
&&& return 0;
阅读(...) 评论()}

我要回帖

更多关于 c语言判断一个三角形 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信