| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 905 人关注过本帖
标题:输出2-100的所有素数,为啥结果只是23
只看楼主 加入收藏
祺行
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2022-8-29
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:3 
输出2-100的所有素数,为啥结果只是23
#include<stdio.h>
int main()
{
    int z=1,i,x;
    for(x=2;x<100;x++)
    {
        for(i=2;i<x;i++)
        {
            if (x%i==0)
            z=0;
            break;
        }
        if(z==1) printf("%d",x);
    }
    printf("\n");
    return 0;
}

23

--------------------------------
Process exited after 0.03071 seconds with return value 0
请按任意键继续. . .
搜索更多相关主题的帖子: return 输出 结果 printf 素数 
2022-08-29 22:17
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:5 
z=1 明明只用于for中的子for,为什么要定义到for之外?很多错误都是自找的

程序代码:
#include <stdio.h>

int main( void )
{
    for( unsigned x=2; x<=100; ++x )
    {
        int z = 1;
        for( unsigned i=2; i<x; ++i )
        {
            if( x%i == 0 )
            {
                z = 0;
                break;
            }
        }
        if( z != 0 )
            printf( "%d\n", x );
    }
}
2022-08-30 08:31
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:5 
如果不用你本身的算法

程序代码:
#include <stdio.h>

int main( void )
{
    for( unsigned x=2; x<=100; ++x )
    {
        unsigned p = 1;
        for( unsigned i=2; p!=0 && i<x/i; ++i )
            p = x%i;

        if( p != 0 )
            printf( "%d\n", x );
    }
}
2022-08-30 08:36
祺行
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2022-8-29
收藏
得分:0 
解释很详细,谢谢
2022-08-30 21:17
快速回复:输出2-100的所有素数,为啥结果只是23
数据加载中...
 
   



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

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