| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 644 人关注过本帖
标题:新手第.一弹,我烧饼了.求鞭策
只看楼主 加入收藏
河马拔河
Rank: 2
等 级:论坛游民
帖 子:31
专家分:15
注 册:2011-3-21
结帖率:77.78%
收藏
已结贴  问题点数:20 回复次数:9 
新手第.一弹,我烧饼了.求鞭策
int a,b,c;
         for(a=1;a<=200;a++);
            for(b=1;b<=200;b++);
               for(c=1;c<=200;c++);
                  if(a^2==b^2+c^2)
                     printf("%d%d%d\n",a,b,c);
目的是200以内的勾股数。
上面的怎么不对呢?
2011-03-29 21:56
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:15 
楼主算法有问题!
所谓“勾股数”就是a*a+b*b=c*c
程序代码:

root@~ #cat 1.c
#include <stdio.h>

int main (void) {

        int a,b,c;
        for(a=1;a<=200;a++) {
                for(b=1;b<=200;b++) {
                        for(c=1;c<=200;c++) {
                                if(a*a==b*b+c*c){
                                        printf ("%i %i %i\n",a,b,c);
                                }
                        }
                }
        }
        return 0;

}

root@~ #

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-29 22:05
河马拔河
Rank: 2
等 级:论坛游民
帖 子:31
专家分:15
注 册:2011-3-21
收藏
得分:0 
果然是括号
楼上能不能讲解的通俗且细致吗?
2011-03-29 22:29
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
以下是引用河马拔河在2011-3-29 22:29:12的发言:

果然是括号
楼上能不能讲解的通俗且细致吗?

这没什么可讲解的吧! 勾股定理的公式就就是:a的平方+b的平方=c的平方;

楼主的公式
if(a^2==b^2+c^2)这里的^是与运算符,a^2不等于a*a

[ 本帖最后由 ansic 于 2011-3-29 22:34 编辑 ]

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-29 22:32
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
收藏
得分:1 
C语言里没有专门的乘方运算符,在很多语言里用做乘方运算符的^在C语言里是按位与运算符。。。

[url=http:///view/aDU1]/image/aDU1.gif" border="0" />[/url]
2011-03-30 10:18
简单回忆
Rank: 2
来 自:郴州
等 级:论坛游民
帖 子:89
专家分:28
注 册:2011-3-19
收藏
得分:1 
   printf ("%i %i %i\n",a,b,c);
                                }
                        }
                }
        }
        return 0;

}

root@~ #                             请问蜘蛛侠大虾                   前面定义的是int     怎么输出用%i啊        不是用%d的吗?????             还有后面那两个return0            和root@``#是什么东东?????????          本人新手
2011-03-30 18:42
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
以下是引用简单回忆在2011-3-30 18:42:26的发言:

   printf ("%i %i %i\n",a,b,c);
                                }
                        }
                }
        }
        return 0;

}

root@~ #                             请问蜘蛛侠大虾                   前面定义的是int     怎么输出用%i啊        不是用%d的吗?????             还有后面那两个return0            和root@``#是什么东东?????????          本人新手

我遵循的C99的标准,实际上%i和%d一样。return 0;返回main函数一个的值,root那个是我的命令行提示符。

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-30 21:08
lixinyuan224
Rank: 2
等 级:论坛游民
帖 子:28
专家分:28
注 册:2010-7-25
收藏
得分:3 
蛋疼,你for()后敲";"干啥?
2011-03-31 09:18
简单回忆
Rank: 2
来 自:郴州
等 级:论坛游民
帖 子:89
专家分:28
注 册:2011-3-19
收藏
得分:0 
回复 6楼 简单回忆
了解        大虾
2011-03-31 12:29
河马拔河
Rank: 2
等 级:论坛游民
帖 子:31
专家分:15
注 册:2011-3-21
收藏
得分:0 
回复 7楼 ansic
虽然大侠没有指出我的要害,但我深知这是大侠对我的仁慈
经仔细观看大侠招式后  明白了自己的不足
在此谢过
后会有期
2011-03-31 15:05
快速回复:新手第.一弹,我烧饼了.求鞭策
数据加载中...
 
   



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

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