| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1469 人关注过本帖
标题:[求助]新手求助,怎么就不见好心人解答啊?
只看楼主 加入收藏
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
以下是引用爱以走远在2007-5-9 20:13:02的发言:

#include <stdio.h>
void main()
{unsigned float A,B,C;
int count;
count=0;
for(A=1;A<=97;A++)
{ for(B=1;B<=97;B++)
for(C=1;C<=97;C++)
if(100>(A+B+C)&&(B*B*C*C+A*A*C*C==A*A*B*B))
{count++;printf("%f,%f,%f\n",A,B,C);}
}
printf("count=%d",count);}



你改为int试一哈


试了
没有什么区别
结果都是2组


生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-05-09 20:18
爱以走远
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:7542
专家分:21
注 册:2007-3-16
收藏
得分:0 
以下是引用红影在2007-5-9 20:10:40的发言:
#include <stdio.h>
void main()
{
unsigned int A,B,C,count;
count=0;
for(A=3;A<=98;A++)
{
for(B=2;B<A;B++)
for(C=1;C<B;C++)
if((C<(100-A-B))&&(B*B*C*C+A*A*C*C==A*A*B*B) )
{
count++;
printf("%d,%d,%d\n",A,B,C);}
}
printf("count=%d\n",count);
}


运行结果:

20,15,12
40,30,24
60,45,36
80,60,48
count=4

怎么我运行你的是74种哦
是不是我的编译器的问题哦


   好好活着,因为我们会死很久!!!
2007-05-09 20:20
阳光杉木
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-2-17
收藏
得分:0 
以下是引用爱以走远在2007-5-9 20:20:09的发言:

怎么我运行你的是74种哦
是不是我的编译器的问题哦

他那个在TC里是显示74组的,在VC++里可以运行
不过答案是错误的

2007-05-09 20:22
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
我电脑上没有TC

生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-05-09 20:25
阳光杉木
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-2-17
收藏
得分:0 
#include <stdio.h>
void main()
{unsigned int A,B,C,count;
count=0;
for(A=3;A<=97;A++)
{ for(B=2;B<97;B++)
for(C=1;C<97;C++)
if(A+B+C<100&&(B*B*C*C+A*A*C*C==A*A*B*B)&&(A>B)&&(B>C))
{count++;printf("%d,%d,%d\n",A,B,C);}
}
printf("count=%d",count);}
我的代码在VC++在可以运行
但是在TC下显示答案6组
不知道什么什么原因
有没有高人能说说原因
2007-05-09 20:32
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
哪6组啊???
看看数对不对么

生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-05-09 20:37
阳光杉木
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-2-17
收藏
得分:0 
数不对的
我用计算器算过不对
2007-05-09 20:44
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
不对的话等于白做工。。。。。。

生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-05-10 00:10
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
有高手可以告诉我一下吗?我也不懂啊.我在tc下面也是6组

学习需要安静。。海盗要重新来过。。
2007-05-10 08:49
zhengqiang
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-5-10
收藏
得分:0 
回复:(阳光杉木)[求助]新手求助,怎么就不见好心人...
虽然我也是学c语言的新手,我也发表我的看法了,你既然要限定A>B,B>C,那你不如在for循环里面说明
for(B=2;B<A;B++) for(C=1;C<B;C++)这样你在后面的if语句就不会怎么长了.你不妨试一下,不然你的程序的循环的次数太长,耗时太多,就是所说的空间复杂度和时间复杂度都很大,容易出错.不然的话,你的程序的其他地方都没有问题.还有就是你的循环要注意用括号阔起来.就不容易出错了.
void main()
{unsigned int A,B,C,count=0,D;
D=B*B*C*C+A*A*C*C-A*A*B*B;
for(A=3;A<=97;A++)
{ for(B=2;B<A;B++)
{ for(C=1;C<B;C++)
{ if((A+B+C<100)&&D=0)
{ count++;
printf("%d,%d,%d\n",A,B,C);}
}
}
}
}
2007-05-10 17:01
快速回复:[求助]新手求助,怎么就不见好心人解答啊?
数据加载中...
 
   



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

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