| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1409 人关注过本帖
标题:输出3至100内的素数程序不对为什么
只看楼主 加入收藏
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
回复 20楼 来生再见
分析是对的

剑栈风樯各苦辛,别时冰雪到时春
2015-09-22 07:25
a382188110
Rank: 2
等 级:论坛游民
帖 子:10
专家分:14
注 册:2011-9-3
收藏
得分:0 
一开始弄错了,现在弄明白了。
#include<stdio.h>
void main()
{
    int i,n;
    for(n=3;n<=100;n++) // n = 3 (执行一次这个for语句,下面for语句里面 i 的值就初始化 i = 2)
    {
        for(i=2;i<n;i++)//i++是不断的加,不是定值吗 (每次执行上面的 for 的时候 初始化为 i = 2)
           if(n%i==0)     //1. n = 3,i = 2;n%i 不等于 0(并没有结束循环,所以 i = i + 1 , i = 3 , n%i == 0 ,结束循环);
                          //2. n = 4,i = 2;n%i == 0;
                break;  //结束本次循环执行下面的语句     
           //1. i = i + 1 , i = 4.   
           //2. i = i + 1 , i = 3.  
                  
            if(n>i)  //1. n = 3  不大于 i = 4;
                     //2. n = 4 大于 i = 3;

                printf("%d\n",n);
               // 输出  4;
       //1. n = n + 1 , n = 4;
       //2. n = n + 1 , n = 5;
    }
     
}

[ 本帖最后由 a382188110 于 2015-9-22 17:04 编辑 ]
2015-09-22 15:44
来生再见
Rank: 1
来 自:江西省抚州市
等 级:新手上路
威 望:1
帖 子:39
专家分:9
注 册:2015-9-13
收藏
得分:0 
回复 22楼 a382188110
if(i==n) 才是素数

重新开始,努力
2015-09-24 00:25
快速回复:输出3至100内的素数程序不对为什么
数据加载中...
 
   



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

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