| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 661 人关注过本帖
标题:弦数问题 求更正错误
只看楼主 加入收藏
penglingluo
Rank: 1
来 自:湖南衡阳
等 级:新手上路
帖 子:26
专家分:7
注 册:2010-4-17
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:10 
弦数问题 求更正错误
#include "stdio.h"
int xianshu(int x,int y,int z)
{int flag=0;
if(x*x==y*y+z*z)
flag=1;

return flag;
}
 
main()
{
    int i,j,h,min=0,max=0,count=0;
for(i=121;i<130;i++)
{
  for(j=1;j<i;j++)
      for(h=j;h<j;h++)
          if(xianshu(i,j,h)==1)
              count++;
          if(i<min)min=i;
          if(i>max)max=i;
}
printf("%d\n%d\n%d\n",count,min,max);


}  
搜索更多相关主题的帖子: include return count 
2010-05-19 15:59
NoSoul
Rank: 9Rank: 9Rank: 9
来 自:沈阳化工大学
等 级:蜘蛛侠
帖 子:283
专家分:1010
注 册:2009-6-6
收藏
得分:0 
for(h=j;h<j;h++)

我想伸手拉近點,竟觸不到那邊,就欠一點點,但這一點點...卻好遠
2010-05-19 16:49
penglingluo
Rank: 1
来 自:湖南衡阳
等 级:新手上路
帖 子:26
专家分:7
注 册:2010-4-17
收藏
得分:0 
回复 2楼 NoSoul
????
2010-05-19 16:58
NoSoul
Rank: 9Rank: 9Rank: 9
来 自:沈阳化工大学
等 级:蜘蛛侠
帖 子:283
专家分:1010
注 册:2009-6-6
收藏
得分:0 
h的循环 根本就不能实现

我想伸手拉近點,竟觸不到那邊,就欠一點點,但這一點點...卻好遠
2010-05-19 17:48
penglingluo
Rank: 1
来 自:湖南衡阳
等 级:新手上路
帖 子:26
专家分:7
注 册:2010-4-17
收藏
得分:0 
回复 4楼 NoSoul
为什么  原谅我的无知 请不吝赐教  
2010-05-19 18:13
NoSoul
Rank: 9Rank: 9Rank: 9
来 自:沈阳化工大学
等 级:蜘蛛侠
帖 子:283
专家分:1010
注 册:2009-6-6
收藏
得分:5 
h<j

我想伸手拉近點,竟觸不到那邊,就欠一點點,但這一點點...卻好遠
2010-05-19 18:15
rainbow1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:277
专家分:839
注 册:2010-5-19
收藏
得分:15 
1、既然 h=j,就不会 h<j;
2、min永远为0,max永远为 129。因为  (i<min)  不可能成立;而  (i>max)  永远成立。

[ 本帖最后由 rainbow1 于 2010-5-19 23:32 编辑 ]
2010-05-19 23:16
rainbow1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:277
专家分:839
注 册:2010-5-19
收藏
得分:0 
#include "stdio.h"
int xianshu(int x,int y,int z)
{
    int flag=0;
    if(x*x==y*y+z*z)
    flag=1;

    return flag;
}

main()
{
    int i,j,h,min=0,max=0,count=0;
    int x,y,z;
    for(i=121;i<130;i++)
    {
        for(j=1;j<i;j++)
        {
          for(h=j;h<i;h++)
//如果令:h=1,则count是预计的2倍。
          {
             if(xianshu(i,j,h))
             {
 //               x=i;
 //               y=j;
 //               z=h;
                printf("%d\n%d\n%d\n\n",i,j,h);
                count++;
             }
            
          }
        }
//不知道下面这两句的作用
     if    (i<min)  min=i;
     if    (i>max)  max=i;   
    }
    printf("%d\n%d\n%d\n",count,min,max);
}
2010-05-19 23:53
rainbow1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:277
专家分:839
注 册:2010-5-19
收藏
得分:0 
如果 h=j,
结果如下:
122
22
120

123
27
120

125
35
120

125
44
117

125
75
100

5
0
129

[ 本帖最后由 rainbow1 于 2010-5-19 23:55 编辑 ]
2010-05-19 23:54
rainbow1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:277
专家分:839
注 册:2010-5-19
收藏
得分:0 
如果  h=1
结果如下:
122
22
120

122
120
22

123
27
120

123
120
27

125
35
120

125
44
117

125
75
100

125
100
75

125
117
44

125
120
35

10
0
129


实际上与  h=j  的结果相同,
2010-05-19 23:57
快速回复:弦数问题 求更正错误
数据加载中...
 
   



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

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