| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 479 人关注过本帖
标题:大神快出没,for 嵌套里又有问题啦!
取消只看楼主 加入收藏
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
大神快出没,for 嵌套里又有问题啦!
//输出1-100的素数
#include<stdio.h>
int main()
{
    int n=1,i=2;
    for(;n<=100;n++){
        for(;i<=n-1;i++){
            if(n%i!=0&&i>=n/2)
                printf("%d\n",n);
        }
    }
    return 0;
}
测试结果
输出了 3~100 ,明显不是素数。
第二个for里面我用了 i<=n-1 ,每次第二个for有第一个for里变量的时候就不行了
求大神,大神,大神!!!
2014-10-25 09:25
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
收藏
得分:0 
回复 2 楼 soulmate1023
不对,你的输出来是3的死循环。
我一开是的思路就错了。
我换了种表达,发现还是行不通
//输出1-100的素数
#include<stdio.h>
int main()
{
    int n=1,i=2;
    for(;n<=100;n++){
        for(;i<=n/2;i++){
            if(n%i==0) break;
        }
        if(i>n/2&&n!=1)
            printf("%d\n",n);
    }
    return 0;

}

测试输出的是 2,3,5,7,之后都是奇数
不满足素数
2014-10-25 10:30
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
收藏
得分:0 
回复 4 楼 dcl2014
是的,我自己也试了下,果然定义的值要放在括号里,不然下次循环就是导入的就是上个循环留下的值
谢谢。
2014-10-25 10:48
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
收藏
得分:0 
回复 4 楼 dcl2014
哦对了,C语言里for()里不能用定义,定义要在括号外面。
在括号里面定义是 c#。。
还是c#方便些
2014-10-25 10:50
快速回复:大神快出没,for 嵌套里又有问题啦!
数据加载中...
 
   



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

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