| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1182 人关注过本帖
标题:求100到200所有的素数
只看楼主 加入收藏
b1592187525
Rank: 1
等 级:新手上路
帖 子:86
专家分:4
注 册:2017-2-15
结帖率:90.32%
收藏
已结贴  问题点数:20 回复次数:2 
求100到200所有的素数
求100到200之间的所有素数,当我把if(a>j)改为else时,编译器运行结果如下:
有3个问题.
为什么这里不能改为else?
改为else时,为什么编译结果有那么多重复的数?
而且不能满足输出10个数就换行的要求?
#include"math.h"
#include"stdio.h"
#include"stdlib.h"
main(){
    int i,j,a,n;
    n=0;
    for(i=101;i<200;i+=2){   
    if(n%10==0)
    printf("\n");
    j=sqrt(i);
    for(a=2;a<=j;a++)
    if(i%a==0)
    break;
    if(a>j)        //当我把这行改为else
    {
    printf("%d  ",i);
    n++;
    }
    }
    system("pause");
}
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 编译器 include 而且 
2017-03-10 17:02
育帝
Rank: 2
来 自:黑龙江哈尔滨
等 级:论坛游民
帖 子:75
专家分:43
注 册:2016-10-16
收藏
得分:10 
首先else 是if外的所有情况,比如a==0,那么else外的就是a!=0
次之,else是与离他最近的if为一个对应。
最后你在想想试试吧

育帝
2017-03-10 17:17
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:10 
程序代码:
#include"math.h"
#include"stdio.h"
#include"stdlib.h"

void main()
{
    int i,a,n;
    n=0;
    for(i=101;i<200;i+=2)
    {   
        if(n%10==0)    printf("\n");
        double j=sqrt((double)i);
        for(a=2;a<=(int)j;a++)
        {
            if(i%a==0)    break;
        }
        if(a>j)        //当我把这行改为else
        {
            printf("%d  ",i);
            n++;
        }
    }
    system("pause");
}
101  103  107  109  113  127  131  137  139  149
151  157  163  167  173  179  181  191  193  197
199  请按任意键继续. . .

DO IT YOURSELF !
2017-03-10 20:36
快速回复:求100到200所有的素数
数据加载中...
 
   



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

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