| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 644 人关注过本帖
标题:j=0或者是j=1或者就j<=i,为啥就会错呢?
只看楼主 加入收藏
pingheng74
Rank: 2
等 级:论坛游民
帖 子:6
专家分:10
注 册:2011-7-1
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:3 
j=0或者是j=1或者就j<=i,为啥就会错呢?
用筛选法求100之内的素数。
#include <stdio.h>
void main()
{
int i,j,a[100];
for (i=0;i<100;i++)
{
    a[i]=i;
for (j=2;j<=i;j++)                /*如果改为j=0或者j=1或者就j<=i,为什么会错?*/
{
if (j<i)
if (a[i]%j==0)
break;
if (a[i]-j==0)
printf ("  %d",a[i]);
}
}
printf ("\n");
}
cpp(8)j=0或者是j=1或者就j<=i,为啥就会错呢?各位大虾帮忙下小弟
搜索更多相关主题的帖子: include 
2011-07-01 21:21
loveshuang
Rank: 9Rank: 9Rank: 9
来 自:湖北武汉
等 级:蜘蛛侠
帖 子:270
专家分:1198
注 册:2010-11-14
收藏
得分:3 
            下标越界了,第一个for循环中i最后是100,第二个for中a[i]就是a[100],这个是错误的访问,再者求素数好像不是你这么搞的吧?
2011-07-01 22:36
水古奇影
Rank: 2
等 级:论坛游民
帖 子:16
专家分:78
注 册:2011-5-16
收藏
得分:3 
这就是你的数学问题,其次是语法问题,for(;;;)还有j=0,a[i]%j==0 对吗?不对吧。
int isOnoprime(int n){
    int a;
    a=2;
    while(a<n){
        if(!(n%a++))break;
   
    if(a==n){
        return 1;
    }
    return 1;      
2011-07-01 22:40
小乙哥
Rank: 2
等 级:论坛游民
帖 子:15
专家分:27
注 册:2011-5-30
收藏
得分:3 
# include<stdio.h>

int main(void)
{
   int i = 0;
   int j = 0;
   int m = 0;
   printf("请输入你想要查找范围内的素数:\n");
   scanf("%d", &m);

   for(i = 2; i<m; i++)
   {
      for(j = 2; j<i; j++)
      {
        if(i%j == 0)
        break;
       }
      if(i == j)
      printf("%d", i);
      
   }

   return 0;
}
2011-07-02 00:38
快速回复:j=0或者是j=1或者就j<=i,为啥就会错呢?
数据加载中...
 
   



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

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