| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5232 人关注过本帖
标题:计算1~100之间的素数,为什么for循环里面的if条件好像没有判断作用?
只看楼主 加入收藏
_Strike
Rank: 2
等 级:论坛游民
帖 子:133
专家分:72
注 册:2016-3-22
结帖率:90.63%
收藏
 问题点数:0 回复次数:11 
计算1~100之间的素数,为什么for循环里面的if条件好像没有判断作用?
#include <stdio.h>
#include <stdlib.h>
#include<math.h>
int main(void)
{
    int n = 1, i;
    for (i = 2; n%i != 0, n <= 100; n++)
    {
        i++;
        if (i >  sqrt(n));
            printf("%d是素数\n", n);
    }
    return 0;

}
搜索更多相关主题的帖子: include return 
2016-04-06 18:49
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include<math.h>
int main(void)
{
    int n = 1, i;
    for (i = 2; n%i != 0, n <= 100; n++)
    {
        i++;
        if (i >  sqrt(n));      //--->这里的分号,是多余的,具体原因请在论坛旧帖里翻一翻,不少。
            printf("%d是素数\n", n);
    }
    return 0;

}


φ(゜▽゜*)♪
2016-04-06 19:35
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
收藏
得分:0 
楼上说的对,if 后面多了个分号
2016-04-07 08:45
_Strike
Rank: 2
等 级:论坛游民
帖 子:133
专家分:72
注 册:2016-3-22
收藏
得分:0 
没有分号也不可以。。。
2016-04-07 22:18
_Strike
Rank: 2
等 级:论坛游民
帖 子:133
专家分:72
注 册:2016-3-22
收藏
得分:0 
应该是代码错了
2016-04-07 22:18
alice_usnet
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:370
专家分:2020
注 册:2016-3-7
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include<math.h>
int main(void)
{
    int i,j;
    for (i = 2; n <= 100; i++)
    {
        for(j=2;j<=sqrt((double)i);j++)
        {
           if(i%j==0)
           {
              break;
           }
        }
        if(j>sqrt((double)i))
          printf("%d是素数\n", i);
    }
    return 0;

}


[此贴子已经被作者于2016-4-7 22:40编辑过]


未佩好剑,转身便已是江湖
2016-04-07 22:28
_Strike
Rank: 2
等 级:论坛游民
帖 子:133
专家分:72
注 册:2016-3-22
收藏
得分:0 
n呢?
2016-04-07 22:43
T1165170241
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-12-9
收藏
得分:0 
回复 6楼 alice_usnet
兄弟写的程序中的for循环第二个表达式不是n<=100吧,是i
2016-04-10 18:11
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:0 
回复 7楼 _Strike
以下是引用alice_usnet在2016-4-7 22:28:22的发言:

#include

#include

#include

int main(void)

{

    int i,j;

    for (i = 2; n <= 100; i++)

    {

        for(j=2;j<=sqrt((double)i);j++)

        {

           if(i%j==0)

           {

              break;

           }

        }

        if(j>sqrt((double)i))

          printf("%d是素数\n", i);

    }

    return 0;



}
此楼写的代码是自动输出所有100以内的素数,然而楼主想要的可能是读入一个数据,判断那个数是不是数据。所以会没有n。
程序代码:
#include


#include


#include

int main(void)

{
    int n;
    int j;

    scanf("%d",&n);

        for(j=2;j<=sqrt((double)n);j++)

        {

           if(n%j==0)

           {

              break;

           }

        }

        if(j>sqrt((double)n))

          printf("%d是素数\n", n);

    else printf("%d可以被%d整除\n",n,j);

    return 0;



} 


φ(゜▽゜*)♪
2016-04-10 18:21
alice_usnet
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:370
专家分:2020
注 册:2016-3-7
收藏
得分:0 
回复 8楼 T1165170241
谢谢指正

未佩好剑,转身便已是江湖
2016-04-10 18:43
快速回复:计算1~100之间的素数,为什么for循环里面的if条件好像没有判断作用?
数据加载中...
 
   



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

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