| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4581 人关注过本帖
标题:[求助]谁能给我一种求三角形面积的算法?
只看楼主 加入收藏
jiang520
Rank: 1
等 级:新手上路
帖 子:207
专家分:0
注 册:2006-9-13
收藏
 问题点数:0 回复次数:6 
[求助]谁能给我一种求三角形面积的算法?

要求:
输入三个数,三个数能构成三角形的话,正常输出其值,若不能构成三角形的话,再次要求
用户输入,屏幕显示"不能组成三角形,请重新输入:"的字样,前面是"请输入三角形的三边长:"
直到,输入的三边能构成三角形,正常求出其值,然后跳出循环,进入TC屏幕```很简单吧`
下面是我的一种算法:给你们提供点什么,但那是错误的,或说不全面的...

//三角形面积公式: area=sqrt(s*(s-a)*(s-b)*(s-c)),s=(a+b+c)/2;
#include <iostream>
#include <Cmath>
using namespace std;
int main()
{
float a,b,c,s,area;
cout<<"请输入三角形的三边长:"<<endl;
cin>>a>>b>>c;
if((a+b)>c&&(a+c)>b&&(b+c)>a)
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
}
else {
while(1)
{
cout<<"不能组成三角形,请重新输入:"<<endl;
cin>>a>>b>>c;
if((a+b)>c&&(a+c)>b&&(b+c)>a)
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
}break;
}
}
cout<<"面积为:"<<area<<endl;
}

我想不出来了,原谅初学者的冒昧~

搜索更多相关主题的帖子: 三角形面积 算法 area 屏幕 
2006-11-09 09:40
dubaoshi
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2006-9-22
收藏
得分:0 
我认为只把输入的判断做成循环就可以了,计算的部分在循环之外,不用定义2次计算函数吧。

人行善,福虽未至,祸已远离;人行恶,祸虽未至,福已远离.
2006-11-09 12:28
墨岛
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-7-25
收藏
得分:0 

看看这个如何?
#include <iostream>
#include <Cmath>
using namespace std;
int main()
{
float a,b,c,s,area;
int i=1;
cout<<"请输入三角形的三边长:"<<endl;
while(i)
{
cin>>a>>b>>c;
if((a+b)>c&&(a+c)>b&&(b+c)>a)
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
cout<<"面积为:"<<area<<endl;
i=0;
}
else
{
cout<<"不能组成三角形,请重新输入三角形的三边长:"<<endl;
}
}
return 0;
}

2006-11-09 13:10
dubaoshi
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2006-9-22
收藏
得分:0 

弄了半天才弄好,嘻嘻,你看一下:
#include<iostream>
#include<cmath>

using namespace std;

void main()
{
float a,b,c,s,area;
while(1)
{cout<<"请分别输入三边长:"<<endl;
cin>>a;
cin>>b;
cin>>c;
if((a+b)>c&&(b+c)>a&&(a+c)>b)
break;
}
s=(a+b+c)/2;
area=s*(s-a)*(s-b)*(s-c);
cout<<"三角形的面积是:"<<area;
}
还弄出点问题来,嘻嘻,我在VC中用while(;;)居然编译通不过,为什么?
另外,用cin分别输入3个数字的话,格式怎么写?


人行善,福虽未至,祸已远离;人行恶,祸虽未至,福已远离.
2006-11-09 13:37
jiang520
Rank: 1
等 级:新手上路
帖 子:207
专家分:0
注 册:2006-9-13
收藏
得分:0 
呵呵...

我搞了半天就是这点没搞过来,现在终于好了,很感谢你们两位!我要的就是这种效果,你们比较了解我的需要哈..

[QUOTE]另外,用cin分别输入3个数字的话,格式怎么写?[/QUOTE]

cin>>a>>b>>c; 就可以了...

呵呵.谢了哈...

努力,努力吧,未来的天空,那一片湛蓝总会属于我的~
2006-11-09 17:52
jiang520
Rank: 1
等 级:新手上路
帖 子:207
专家分:0
注 册:2006-9-13
收藏
得分:0 
[CODE]------图片是漂亮MM,我是GG但不漂亮。[/CODE]

兄台,你搞一张MM图片,真让我一看到就认为你是个漂亮MM,真的哈

努力,努力吧,未来的天空,那一片湛蓝总会属于我的~
2006-11-09 17:53
dubaoshi
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2006-9-22
收藏
得分:0 

我就怕人家误会,所以加了个备注,哈哈。


人行善,福虽未至,祸已远离;人行恶,祸虽未至,福已远离.
2006-11-09 18:36
快速回复:[求助]谁能给我一种求三角形面积的算法?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021063 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved