找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 1672|回复: 6

[求助]谁能给我一种求三角形面积的算法?

[复制链接]
发表于 2009-11-4 01:02:55 | 显示全部楼层 |阅读模式 IP:江苏扬州
要求:
输入三个数,三个数能构成三角形的话,正常输出其值,若不能构成三角形的话,再次要求
用户输入,屏幕显示"不能组成三角形,请重新输入:"的字样,前面是"请输入三角形的三边长:"
直到,输入的三边能构成三角形,正常求出其值,然后跳出循环,进入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;
}

我想不出来了,原谅初学者的冒昧~
发表于 2009-11-4 01:02:56 | 显示全部楼层 IP:江苏扬州
我认为只把输入的判断做成循环就可以了,计算的部分在循环之外,不用定义2次计算函数吧。
回复

使用道具 举报

发表于 2009-11-4 01:02:57 | 显示全部楼层 IP:江苏扬州
看看这个如何?
#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;
}
回复

使用道具 举报

发表于 2009-11-4 01:02:58 | 显示全部楼层 IP:江苏扬州
弄了半天才弄好,嘻嘻,你看一下:
#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个数字的话,格式怎么写?
回复

使用道具 举报

发表于 2009-11-4 01:02:59 | 显示全部楼层 IP:江苏扬州
呵呵...

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

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


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

呵呵.谢了哈...
回复

使用道具 举报

发表于 2009-11-4 01:03:00 | 显示全部楼层 IP:江苏扬州
  1. ------图片是漂亮MM,我是GG但不漂亮。
复制代码


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

使用道具 举报

发表于 2009-11-4 01:03:01 | 显示全部楼层 IP:江苏扬州
我就怕人家误会,所以加了个备注,哈哈。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 23:25 , Processed in 0.212853 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表