| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 494 人关注过本帖
标题:新人刚自学C语言,请大神指教
只看楼主 加入收藏
w839784815
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-10-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
新人刚自学C语言,请大神指教
# include <stdio.h>
# include <math.h>

int main(void)
{
    int j;
    for (int n = 1;n <= 100;++n)
    {
        for (int i = 2;i <= sqrt(n);++i)
        {
            if (n%i == 0)
            {
                j = 0;
                break;
            }
            else
                j = 1;
        }
        if ( j == 1)
            printf ("%d\n",n);
    }
    return 0;
}
这是学着写的求1-100之间的质数,结果就2和3不能输出,请问如何能将2和3输出,是否是直接定义然后输出2和3
搜索更多相关主题的帖子: include C语言 
2014-10-26 11:10
soulmate1023
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:256
专家分:831
注 册:2014-9-23
收藏
得分:20 
因为2,3 不满足循环,直接跳出了呀,
你可以事前输出他们
这是我复制别人的,你参考:
程序代码:
#include<stdio.h>
int main()
{
    
    for(int n=1;n<=100;n++){
        for(int i=2;i<=n/2;i++){
            if(n%i==0)
                break;
        }
        if(i>n/2)
                printf("%d\n",n);
    }
    return 0;
}
2014-10-26 14:32
w839784815
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-10-26
收藏
得分:0 
回复 2 楼 soulmate1023
谢啦。不过你这个好像连1也输出了

[ 本帖最后由 w839784815 于 2014-10-26 18:15 编辑 ]
2014-10-26 18:09
快速回复:新人刚自学C语言,请大神指教
数据加载中...
 
   



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

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