| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1675 人关注过本帖
标题:[求助]不知道错在哪里?
取消只看楼主 加入收藏
清风飒影
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-11-10
收藏
 问题点数:0 回复次数:13 
[求助]不知道错在哪里?
这个程序我想要的结果是输出2--200之间每个数下的素数。
程序在编译连接的时候没有报错误。可结果不是我想要的,
程序对每个数输出的结果都是一样的,我不知道哪里错了,
帮忙找一下。谢谢。
代码如下:
#include "conio.h"
#include "stdio.h"
#include "math.h"
main()
{
int a[100];
int b,c,m,i,k;
clrscr ();
for (b=2;b<=200;b++)
{
for (m=1;m<=b;m++)
{
k=sqrt(m);
for (i=2;i<=k;i++)
if (m%2==0) break;
if (i>=k+1)
{
c=0;
a[c]=m;
c++;
}
}

printf ("%d's prime numbers:\n",b);
for (c=0;c<=50;c++)
printf ("%d ",a[c]);
printf ("\n");
}
}
搜索更多相关主题的帖子: include 
2006-11-18 12:07
清风飒影
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-11-10
收藏
得分:0 
if (i>=k+1)
{
c=0;
a[c]=m;
c++;
}
这一段好像没有错啊,我是让他把每个数下的素数(M)求出来然后赋给数组的地址中。
最后遍历数组,得到结果,。程序结果是 2--200间每个数的结果是一样的。
比如:56下面的假设素数为 :A,B,C,D。。。
57下面的素数也为: A,B,C,D。。。
.........
200下面的素数也是:A,B,C,D。。。

2006-11-18 12:49
清风飒影
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-11-10
收藏
得分:0 
啊,我运行没有无限循环啊,正常结束了的。

2006-11-18 12:54
清风飒影
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-11-10
收藏
得分:0 
等一下,我贴图

2006-11-18 13:05
清风飒影
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-11-10
收藏
得分:0 
恩,
if (i>=k+1)
{
c=0;//这边肯定就是不对了,c的值永远是0不会改变.每次的赋值都会覆盖a[0]!
a[c]=m;
c++;
}
看出来了,我每次都把值给了 a[0] 了,汗!没看出来。谢谢大哥

for (i=2;i<=k;i++)
if (m%2==0) break;//为什么这边是m%2呀?不是要判断b么?
这个FOR是遇2的倍数跳出。

2006-11-18 13:11
清风飒影
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-11-10
收藏
得分:0 
素数是能被1和它本身整除的数(1不是素数)。
其实只要能被 2到 sqrt(m)之间的数整除就可以了-- 这是老潭的方法,
我只是让它能被2到sqrt(m)+1整除。(M为要求的数是不是素数)
i>=k+1是判断该数是否除完(是否已经通过2--sqrt(m)整除)。

2006-11-18 13:24
清风飒影
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-11-10
收藏
得分:0 

这是我运行的错误结果(页面保留1天):

[URL=http://3-207.anyf.cn/]错误结果[/URL]

2006-11-18 13:28
清风飒影
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-11-10
收藏
得分:0 
我没C++的编译器,是的,输出200以前的素数。我只是想练习一下循环和数组。嘿嘿

2006-11-18 13:31
清风飒影
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-11-10
收藏
得分:0 
我的啦,   我的那个结果错误图片连接  [URL=http://3-207.]http://3-207.[/URL]

2006-11-18 13:36
清风飒影
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-11-10
收藏
得分:0 
我没用除,我用的求余 “%”

2006-11-18 13:37
快速回复:[求助]不知道错在哪里?
数据加载中...
 
   



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

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