| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 910 人关注过本帖
标题:为什么啊
取消只看楼主 加入收藏
guisu
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-1-10
收藏
 问题点数:0 回复次数:4 
为什么啊
各位,我有一道题,是求100到200之间的素数,我编写如下,编译时没有错误,可是运行时却把100到200之间所有的数都打印出来了,不知道为什么,请各位帮帮忙啊!
#include<stdio.h>
#include<math.h>
void main()
{
        int i,k,j,m=0;
        for(i=100;i<=200;i++)
        {    k=i;
             for(j=2;j<=sqrt(k);j++)
                  if(k%i==0)
                    break;
                  printf("%d\t",k);
                  m++;
                  if(m%10==0)
                     printf("\n");
        }
}   
搜索更多相关主题的帖子: include void 
2005-01-18 13:21
guisu
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-1-10
收藏
得分:0 
谢谢啊,但是为什么要加上
if(j+1>sqrt(k))  
这个语句呢

2005-01-18 15:46
guisu
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-1-10
收藏
得分:0 
另外第二行和第三行出现那么大的空间 是因为最后一个if语句的毛病 因为每一次判断都要输出\n
我也是刚刚发现,不知道对不对啊 呵呵

2005-01-18 15:53
guisu
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-1-10
收藏
得分:0 
#include<stdio.h>
#include<math.h>
void main()
{
        int i,k,j,m=0;
        for(i=100;i<=200;i++)
        {    k=i;
            for(j=2;j<sqrt(k);j++)
   {
                if(k%j==0)
                break;
   }
           if(j+1>sqrt(k))
     {
             printf("%d  ",k);
                  m++;
     
            if(m%10==0)
              printf("\n");
     }
  }
}   
这样就对了,呵呵

2005-01-18 15:57
guisu
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-1-10
收藏
得分:0 
但是可以运行啊,哪里错了啊

2005-01-18 20:05
快速回复:为什么啊
数据加载中...
 
   



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

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