| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 624 人关注过本帖
标题:[求助]关于直角三角形的问题
只看楼主 加入收藏
bleach1983
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2006-5-22
收藏
 问题点数:0 回复次数:4 
[求助]关于直角三角形的问题
这是一个找500内的直角三角形三边的程序,但有个问题,大虾们帮我看看
哈哈,数量是有点大~~,在这里我定义的是a是斜边,b、c是直角边
在输出时,会出现这种情况。我举个例子
输出a、b、c三个边时
5、4、3
5、3、4
实际上就是b和c交换了,我想避免这种情况,怎么做啊。

#include <iostream.h>
int main()
{
for(int a=1;a<=500;a++)
for(int b=1;b<=500;b++)
for(int c=1;c<=500;c++)
if(a*a==b*b+c*c)
{
cout<<a<<" "<<b<<" "<<c;
cout<<endl;}
}
搜索更多相关主题的帖子: 直角三角形 
2006-05-25 15:43
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 

为了避免这种情况,你只需要把b和c 规定一个大于等于另外一个就可以了
#include <iostream.h>
int main()
{
for(int a=1;a<=500;a++)
for(int b=1;b<=500;b++)
for(int c=1;c<=b;c++)
if(a*a==b*b+c*c)
{
cout<<a<<" "<<b<<" "<<c;
cout<<endl;}
}


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-05-25 16:00
bleach1983
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2006-5-22
收藏
得分:0 
原来如此,楼上的果然机智,谢谢。
不过我觉得出这道题的人也有点无聊~,要500以内的值~~哈哈

[此贴子已经被作者于2006-5-25 16:01:56编辑过]


动感超人~~动感光波~~HOHO~~小白,你也是男孩子,所以你也要努力~~
2006-05-25 16:01
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 

楼主
这个很麻烦的,N多没用的
别忘了两边之和要大于第三边的
for(int c=500;c>500-b;c--)
你看这个怎么样大约省去了1+2+3。。。+249次循环
并且一个A对应一个C一个B
当循环完成。。。。。。


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-05-25 20:44
bleach1983
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2006-5-22
收藏
得分:0 

恩,我看看,谢谢~~


动感超人~~动感光波~~HOHO~~小白,你也是男孩子,所以你也要努力~~
2006-05-26 09:10
快速回复:[求助]关于直角三角形的问题
数据加载中...
 
   



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

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