| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 442 人关注过本帖
标题:有点不懂啊,求解答
只看楼主 加入收藏
lumia610
Rank: 1
等 级:新手上路
帖 子:11
专家分:2
注 册:2012-11-27
结帖率:33.33%
收藏
已结贴  问题点数:5 回复次数:4 
有点不懂啊,求解答
#include<stdio.h>
#include<math.h>
int main()
{
int i,j,n,a[101];
for(i=1;i<=100;i++)
a[i]=i;
a[1]=0;
for(i=2;i<sqrt(100);i++)
for(j=i+1;j<=100;j++)
{
    if(a[i]!=0&&a[j]!=0)//这个有什么用,为什么去掉之后调试没error,但是没法执行//
if(a[j]%a[i]==0)
a[j]=0;
}
printf("\n");
for(i=2,n=0;i<=100;i++)
{
    if(a[i]!=0)
    {printf("%5d",a[i]);
    n++;}
    if(n==10)
    {printf("\n");
    n=0;
    }
}
printf("\n");
return 0;
}
搜索更多相关主题的帖子: include 
2013-04-22 20:06
lumia610
Rank: 1
等 级:新手上路
帖 子:11
专家分:2
注 册:2012-11-27
收藏
得分:0 
是求一百以内的素数
2013-04-22 20:07
笑傲
Rank: 8Rank: 8
来 自:迪拜
等 级:蝙蝠侠
威 望:5
帖 子:223
专家分:856
注 册:2013-3-9
收藏
得分:3 
回复 楼主 lumia610
if(a[i]!=0&&a[j]!=0)
if(a[j]%a[i]==0)中
如果a[i]==0的话a[j]%a[i]就不成立,不用再执行了,如果a[j]==0那么a[j]一定不是素数,所以也不用再执行了
你的程序我只是稍微看了一下,以上纯属个人理解,不对勿怪哦

练就一身本领,只为笑傲江湖!
2013-04-22 20:37
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1509
专家分:9241
注 册:2010-3-16
收藏
得分:2 
if(a[j]%a[i]==0)
a[j]=0;
上面是判断整除,如果能整除就将a[j]置0,
a%b运算就是a除以b求余数,因此a,b不能是0,
所以需要判断a,b是不是为0.
    if(a[i]!=0&&a[j]!=0)
2013-04-22 20:48
lumia610
Rank: 1
等 级:新手上路
帖 子:11
专家分:2
注 册:2012-11-27
收藏
得分:0 
回复 4楼 apull
哦,明白了,谢了

[ 本帖最后由 lumia610 于 2013-4-22 23:46 编辑 ]
2013-04-22 23:43
快速回复:有点不懂啊,求解答
数据加载中...
 
   



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

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