| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5210 人关注过本帖
标题:将100-200之间的素数输出 什么地方错了????
只看楼主 加入收藏
仙度瑞城
Rank: 2
等 级:论坛游民
帖 子:3
专家分:16
注 册:2010-6-2
收藏
得分:0 
以下是引用m21wo在2010-10-20 19:11:50的发言:

#include  
void main()
{
    int a;
    for(a=100;a<=200;a++)
    {
        int i,flag=1;
        for(i=2;i
a从101开始,不判断偶数,只判断奇数
2010-10-20 21:49
Tveiker
Rank: 2
来 自:湖南省张家界桑植
等 级:论坛游民
帖 子:17
专家分:41
注 册:2010-9-28
收藏
得分:1 
#include "stdio.h"
void main()
{
    int a;
    for(a=100;a<=200;a++)
    {
        int i,flag=0;        //flag初始化为0
        for(i=2;i<a;i++)
            if(a%i==0){
                flag=1;      //若a不为素数则flag为1
            }
            if(flag==0)            
                printf("%4d",a); //只有当flag为0时a就是素数,此时则输出
    }
    putchar('\n');
}
2010-10-20 22:19
Tveiker
Rank: 2
来 自:湖南省张家界桑植
等 级:论坛游民
帖 子:17
专家分:41
注 册:2010-9-28
收藏
得分:0 
如果考虑到效率则加#include<math.h>,a只要取奇数,即第一个for(int a=101;a<=199;a+=2),第二个for(int i=2;i<sqrt(a);i++)
2010-10-20 22:23
FMaster
Rank: 2
等 级:论坛游民
帖 子:63
专家分:62
注 册:2010-9-1
收藏
得分:1 
回复 2楼 m21wo
NB......我也看懂了。。。
2010-10-20 22:39
PP_make
Rank: 2
等 级:论坛游民
帖 子:21
专家分:62
注 册:2010-4-25
收藏
得分:1 
以下是引用fz19910125在2010-10-20 19:05:29的发言:

#include "stdio.h"
void main()
{
    int a;
    for(a=100;a<=200;a++)
    {
        int i;
        for(i=2;i
在 printf("%d\n",a); 上面加个else 就行了,也可以像二楼一样,使用一个 bool 类型的flag 作为标志位,当为素数时输出,楼主的printf是在第一层循环里面的,与第二层无关了,结果是把 100 到200 的所有数都打印出来,呵呵,只要lz 细心就没问题了!!
2010-10-21 08:52
fz19910125
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:52
专家分:11
注 册:2010-10-12
收藏
得分:0 
回复 9楼 jack10141
你好,goto loop是什么意思?
2010-10-21 10:15
以中
Rank: 3Rank: 3
来 自:长沙
等 级:论坛游侠
帖 子:108
专家分:129
注 册:2010-4-13
收藏
得分:1 
#include <stdio.h>
void main()
{
    int a;
    for(a=100;a<=200;a++)
    {
        int i,flag=1;
        for(i=2;i<a;i++)
            {
               if(a%i==0)
           
                flag=0;
               continue;
            }
            if(flag)
                printf("%d\n",a);
    }
}

道之所存,师之所存。
2010-10-21 12:03
l302889153
Rank: 2
等 级:论坛游民
帖 子:66
专家分:89
注 册:2010-5-26
收藏
得分:1 
程序代码:
#include "stdio.h"
void main()
{
    int a;
    for(a=100;a<=200;a++)
    {
        int i;
        for(i=2;i<a;i++)
        if(a%i==0)
        {
            goto loop;
        }
         printf("%d\n",a);
loop:   ;//不懂9楼这条语句什么意思。麻烦解释一下谢谢。
    }
}
2010-10-21 20:50
凉小凉
Rank: 2
等 级:论坛游民
帖 子:55
专家分:33
注 册:2010-5-30
收藏
得分:1 
程序代码:
#include <stdio.h>
#include <stdio.h> 

int main(int argc, char* argv[])
{
    int i, j;
    for(i = 101; i < 201; i = i + 2)
    {
        for(j = 3; j <= 15; j = j + 2)
        {
            if(i % j == 0) break;
            if(j == 15)
                printf("%d ", i);
        }
    }
    return 0;
}
额,看看吧,~~
2010-10-21 21:04
wangbin1375
Rank: 2
等 级:论坛游民
帖 子:8
专家分:10
注 册:2010-10-31
收藏
得分:0 
二、输入区间求区间内的素数
#include"stdio.h"
main()
{int a,b,x,y,n=0;
printf("请输入数的区间:");
scanf("%d%d",&x,&y);
for(a=x;a<=y;a++)
{for(b=2;b<=a-1;b++)
if(a%b==0)break;
if(a==b)
{printf("%5d",a);
n++;
if(n%5==0) printf("\n");
}
}
printf(“\nThe total is %d\n”,n);
getch();
}
2010-10-31 17:32
快速回复:将100-200之间的素数输出 什么地方错了????
数据加载中...
 
   



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

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