设为首页 加入收藏

TOP

2013年计算机二级C语言上机题库第三十四套及答案解析
2014-11-23 20:20:27 】 浏览:9650
Tags:2013年 计算机 二级 语言 上机 题库 第三十四 答案 解析

  填空题
  用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数
  表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序列:
  2,3,5,7,11,13,17,19,23,…… 函数fun用筛选法找出所有小于等于n的素数,并统计素数的个数作为函数值返回。
  请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
  注意:源程序存放在考生文件夹下的BLANK1.C中。
  不得增行或删行,也不得更改程序的结构!
  给定源程序:
  #include
  int fun(int n)
  { int a[10000], i,j, count=0;
  for (i=2; i<=n; i++) a[i] = i;
  i = 2;
  while (i   for (j=a[i]*2; j<=n; j+=___1___)
  a[j] = 0;
  i++;
  while (___2___==0)
  i++;
  }
  printf("\nThe prime number between 2 to %d\n", n);
  for (i=2; i<=n; i++)
  if (a[i]!=___3___)
  { count++; printf( count%15 "%5d":"\n%5d",a[i]); }
  return count;
  }
  main()
  { int n=20, r;
  r = fun(n);
  printf("\nThe number of prime is : %d\n", r);
  }
   解题思路:
  第一处:所有2的倍数的数从数表中删去,所以应填:a[i]。
  第二处:找出下一个不是的a[i],所以应填:a[i]。
  第三处:输出素数,只要判断a[i]不是0就是素数,所以应填:0。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇2013年计算机二级C语言上机题库第.. 下一篇2013年计算机二级C语言上机题库第..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目