| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 770 人关注过本帖
标题:刚做了一个求1-200之间的素数程序,可自己做了,觉得没错,翻译不出来?求指 ...
只看楼主 加入收藏
xuyu950403
Rank: 1
等 级:新手上路
帖 子:11
专家分:4
注 册:2011-8-17
结帖率:33.33%
收藏
已结贴  问题点数:10 回复次数:6 
刚做了一个求1-200之间的素数程序,可自己做了,觉得没错,翻译不出来?求指教
程序代码:
#include<iostream>
using namespace std;
int main()
{
    int a=1cout<<1<<" "<<2<<" ";
    for( ;a<=200;a++)
    {int b=2;
        for( ;b<=200;b++)
        {if a<b break;
        if a%b==0 break;
        else cout<<a<<" ";
        }
    }
return 0;
}
这是代码,我觉得没错啊
就是翻译不出来?写的不是很好,是根据我自己思路写的,1,2两个数都是素数,可我这算法不知道怎么求不出来1,2,就直接先把1,2输出了,请大家看看哪错了?刚才学到循环命令,不会用以后的命令,大家也不要用以后的命令,不然我看不懂!谢谢大家指教!
搜索更多相关主题的帖子: 翻译 
2011-08-24 11:35
xg5699
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:140
专家分:522
注 册:2011-7-27
收藏
得分:5 
你还是先打好基础吧
   
程序代码:
#include<iostream>
using namespace std;
int main()
{
    int a=1;
        cout<<1<<" "<<2<<" ";
    for( ;a<=200;a++)
    {
        int b=2;
        for( ;b<=200;b++)
        {
            if (a<b)
                break;
        if (a%b==0)
            break;
        else cout<<a<<" ";
        }
    }
return 0;
}
就算通过了你自己看看

改下:
程序代码:
#include<iostream>
using namespace std;
int main()
{
    int a=1;
        cout<<1<<" "<<2<<" ";
    for( ;a<=200;a++)
    {
        int b=2;
        for( ;b<=200;b++)
        {
            if (a<b)
                break;
        if (a%b==0)
            break;
        else
            cout<<a<<" ";
        break; //加上这个
        }
       
    }
return 0;
}

顺便说一下输出的答案是不对的




[ 本帖最后由 xg5699 于 2011-8-24 12:08 编辑 ]

都不结贴我郁闷那!
2011-08-24 11:41
xuyu950403
Rank: 1
等 级:新手上路
帖 子:11
专家分:4
注 册:2011-8-17
收藏
得分:0 
为什么要加break,不加不是也可以吗?else命令完之后直接从新开始for( ;b<=200;b++),这个命令?怎么回事?
2011-08-24 12:20
xg5699
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:140
专家分:522
注 册:2011-7-27
收藏
得分:0 
回复 3楼 xuyu950403
你不加输出结果你自己试试看
对这个题目而言加不加无所谓了,因为加与不加肯定是错的
这种题目很明显就是用数组来求的
你不用数组做除非你用一种有和题目一样那种公式
不然是"做不出来的"
等你学到数组在来吧,先把基础打好,砖头还没做好就开始造房子了,在编程中
这种题目本身的目的就是锻炼程序员对数组知识的掌握.

[ 本帖最后由 xg5699 于 2011-8-24 12:34 编辑 ]

都不结贴我郁闷那!
2011-08-24 12:28
xuyu950403
Rank: 1
等 级:新手上路
帖 子:11
专家分:4
注 册:2011-8-17
收藏
得分:0 
哦,原来如此,看到书上的题目,就想自己做,谢谢了。
2011-08-24 12:38
jcw08120110
Rank: 8Rank: 8
来 自:南京
等 级:蝙蝠侠
帖 子:272
专家分:742
注 册:2009-6-8
收藏
得分:5 
你输出a的时机不应该在第二个for里面输出;应该把a放到第一个for里面输出;只有这样才避免过多的判断;只有这样输出的a才是干净的,不然你必须定义很多判断句 在循环里面~
还有你没必要一定要输出1 2~ 因为a=1,2的时候你看循环句 它不进入循环里面;所以照常输出;
程序代码:
#include<iostream>
using namespace std;

int main()
{
    int c=0;// c作为标识符;
    for(int a=1;a<=200;++a)  
    {
        c=1;
        for(int b=2;b<a;++b) // 这里关键改动b<a;其实b小于等于根号a就可以;你只要加一个数学函数头文件;
        {
            if (a%b==0){
                c=0; // 这里 如果c 等于0那么a肯定不是素数;
                break;
            }
        }
        if(c){
            cout<<a<<" ";
           // 这个语句多余了;刚看了下 没发现; c=0;
        }
    }
return 0;
}


[ 本帖最后由 jcw08120110 于 2011-8-26 14:31 编辑 ]

君生我未生 我生君以老
2011-08-25 18:00
xg5699
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:140
专家分:522
注 册:2011-7-27
收藏
得分:0 
回复 6楼 jcw08120110
果然是高手啊不用数组可以把程序写的那么好
看来我的数学的确太差了

[ 本帖最后由 xg5699 于 2011-8-25 18:49 编辑 ]

都不结贴我郁闷那!
2011-08-25 18:32
快速回复:刚做了一个求1-200之间的素数程序,可自己做了,觉得没错,翻译不出来 ...
数据加载中...
 
   



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

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