鱼C论坛

 找回密码
 立即注册
查看: 4405|回复: 8

帮忙注释下每行的意思(筛选法)

[复制链接]
发表于 2013-9-22 17:24:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 With_You 于 2013-9-22 20:02 编辑

[i][i][i][i][i][i][i][i][i]题目是要求用筛选法求100以内的素数,程序如下: [/i][/i][/i][/i][/i][/i][/i][/i][/i]

[i][i][i][i][i]#include<stdio.h>
#include<math.h>
int main()
{
   int i,j,n,a[101];
   for(i=1;i<100;i++)
   a[i]=i;
   a[1]=0;
   
   for(i=2;i<sqrt(100);i++)
      for(j=i+1;j<=100;j++)
  {
  if(a[j] !=0 && a[i] !=0)
  if(a[j]%a[i]==0)
  a[j]=0;   
  }
  printf("\n");  
   
  for(i=2,n=0;i<=100;i++)
  {
  if(a[i] != 0)
  {
  printf("%5d",a[i]);
      n++;
  }
  if(n==10)
  {
  printf("\n");
  n=0;
  }
  }

  printf("\n");
  return 0;
   
}

[i][i][i][i][i][i][i][i][i]由于本人小菜鸟一枚,麻烦大神们尽量每行都能注释





[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-22 18:49:00 | 显示全部楼层
你这是想干嘛呢。没法给你注释,很多错误。 你用a不停的判断,这是干啥,a = i 你知道a是什么吗。你先改改再说吧。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-9-22 19:44:28 | 显示全部楼层
数组不能那样赋值吧。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-22 20:05:36 | 显示全部楼层

我把编译器上的程序复制过来它自动把每一个a后面的[i]给我消失了,我也不知道什么原因,我保存发表的时候是正常的,但发表出来了就是这样,我修改了很多次都还是这样,我在这复制给你好了;
#include<stdio.h>
#include<math.h>
int main()
{
   int i,j,n,a[101];
   for(i=1;i<100;i++)
   a[i]=i;
   a[1]=0;
   
   for(i=2;i<sqrt(100);i++)
      for(j=i+1;j<=100;j++)
          {
                  if(a[j] !=0 && a[i] !=0)
                          if(a[j]%a[i]==0)
                                  a[j]=0;   
          }
          printf("\n");  
          
          for(i=2,n=0;i<=100;i++)
          {
                  if(a[i] != 0)
                  {
                          printf("%5d",a[i]);
                      n++;
                  }
          if(n==10)
          {
                  printf("\n");
                  n=0;
          }
          }

          printf("\n");
          return 0;
          
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-22 20:08:07 | 显示全部楼层
With_You 发表于 2013-9-22 20:05
我把编译器上的程序复制过来它自动把每一个a后面的给我消失了,我也不知道什么原因,我保存发表的时候是正 ...

为什么又是,明明粘贴的时候都是好好的,一发表又不见了,我嘞个去!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-22 20:19:33 | 显示全部楼层
Drunkメ逍遥彡 发表于 2013-9-22 18:49
你这是想干嘛呢。没法给你注释,很多错误。 你用a不停的判断,这是干啥,a = i 你知道a是什么吗。你先改改再 ...

123132.jpg
截图总变不了了吧,呼呼。
就是这个程序。看不懂它个意思。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-9-22 23:40:26 | 显示全部楼层
With_You 发表于 2013-9-22 20:19
截图总变不了了吧,呼呼。
就是这个程序。看不懂它个意思。

注释

注释


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-23 09:12:05 | 显示全部楼层

123123123123132.jpg

为什么要夹一个这个来判断数组元素是否为0呢?他们两个不是应该不可能为0吗?基础的赋值都不是0了,况且后面还有个i++ j++,怎么也不可能成为0呀,那为什么要画蛇添足的加一句这个呢?但没有这个程序又无法正常运行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-9-23 12:28:20 | 显示全部楼层
With_You 发表于 2013-9-23 09:12
为什么要夹一个这个来判断数组元素是否为0呢?他们两个不是应该不可能为0吗?基础的赋值都不是0了, ...

这两个不是多余的,下面不是有个 a[ j ] = 0 吗,关键在这儿。你想想 a[i] 和 a[j] 都是a数组中的元素,所以 a[ j ] = 0 ,就有可能把 a[2] 到 a[9] 之间的元素置为0,i 属于2 ~ 9。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-21 19:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表