为了帮助大家复习好计算机等级考试,本次我们考吧网特为广大考生整理了计算机等级考试模拟试题,希望广大考生能够喜欢。本次主要汇编了计算机等级二级C语言精选试题:
一、填空题
用筛选法可得到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("The prime number between 2 to %d", n);
for (i=2; i<=n; i++)
if (a[i]!=___3___)
{ count++; printf( count%15?"%5d":"%5d",a[i]); }
return count;
}
main()
{ int n=20, r;
r = fun(n);
printf("The number of prime is : %d", r);
}
解题思路:
第一处:所有2的倍数的数从数表中删去,所以应填:a[i]。
第二处:找出下一个不是的a[i],所以应填:a[i]。
第三处:输出素数,只要判断a[i]不是0就是素数,所以应填:0。
编辑推荐: