| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 753 人关注过本帖
标题:求助..没弄明白
只看楼主 加入收藏
hb4x
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-8-23
收藏
得分:0 

同意上楼

2006-08-24 13:03
ww84020209
Rank: 1
等 级:新手上路
帖 子:190
专家分:0
注 册:2006-8-21
收藏
得分:0 
以下是引用C之Itachi在2006-8-23 23:56:07的发言:

for(b=2;b<a;b++)
{
for(i=2;i<a;i++)
if(b%i==0)break ;
else
b[j]=b;
j++;

}
为什么输出b[]是a以内的奇数而不是素数?

楼主的程序还有很多问题:
(1)第二个for(i=2;i<a;i++),应该是i<b
(2)不可以既定义int b,又定义b[10],这样标识符重名
(3)else的下边要加{},即{b[j]=b;j++;}

给个参考程序:
#include<stdio.h>
#include<math.h>
#define M 100
int main()
{
int i,j,k=0,n,prime[M],t;
printf("Input n:");
scanf("%d",&n);
for(i=2;i<n;i++)
{
t=sqrt(i);
for(j=2;j<=t;j++)
if(i%j==0)
break;
if(j>=t+1)
prime[k++]=i;
}
for(i=0;i<k;i++)
printf("%d\n",prime[i]);
return 0;
}

[此贴子已经被作者于2006-8-24 13:58:16编辑过]


2006-08-24 13:56
快速回复:求助..没弄明白
数据加载中...
 
   



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

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