首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序的功能是:计算500~800之间素数的个数cnt,并按所求素数的值从小到大的顺序,再计算其间隔加、减之和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数……的值sum。请编写函数countValue()实现程序的要求,最后调用函数wr
下列程序的功能是:计算500~800之间素数的个数cnt,并按所求素数的值从小到大的顺序,再计算其间隔加、减之和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数……的值sum。请编写函数countValue()实现程序的要求,最后调用函数wr
admin
2010-01-11
24
问题
下列程序的功能是:计算500~800之间素数的个数cnt,并按所求素数的值从小到大的顺序,再计算其间隔加、减之和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数……的值sum。请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果cnt和sum输出到文件OUT66.DAT中。
注意:部分源程序已给出。
请勿改动主函数mam()和写函数writeDAT()的内容。
试题程序:
#include<stdio. h>
int cnt, sum;
void countValue ( )
{
}
void main ()
{
cnt= sum=0;
countValue();
printf ("素数的个数=%dkn", cnt );
printf ("按要求计算得值=%d\n", sum );
writeDAT ( );
}
writeDAT ( )
{
FILE *fp;
fp=fopen ( "OUT66. DAT", "w" );
fprintf (fp, "%d\n%d\n", cnt, sum);
fclose (fp);
}
选项
答案
void countValue ( ) { int i,j,half,yy[100]; for (i=500; i<800; i++) { half=i/2; for (j=2; 3<=half; j++) if (i%j==0) break; /*如果该数不是素数,则退出此层循环*/ if (j>=half) /*如果该数是素数,则将该数存入数组yy中*/ { yy [cnt]=i; ont ++; /*统计素数的个数*/ } } for(i=0,j=-1;i<cnt;i++) /*计算这些素数的间隔加、减之和*/ { j=i*-1; sum+=j*yy[i]; } }
解析
本题考查的知识点如下:
(1)利用循环和“%”进行素数的判断。
(2)间隔加、减的实现。
在本题中,首先要找出判断素数的方法。若一个数a依次除以从2到a/2的数所得的余数都不是0,则这个数是素数。用此方法依次判断出从500到800区间内的素数。由题意可知,第1,3,5…个素数计算加法,第2,4,6…个素数计算减法。减去1个正整数就是加上负的这个正整数,所以可以将这个正整数乘以-1进行加法。使用循环实现求和,在奇数次的循环中,每个素数乘以1,偶数次的循环中,素数乘以-1,就可实现间隔加、减。
转载请注明原文地址:https://kaotiyun.com/show/Jb5Z777K
本试题收录于:
三级信息管理技术题库NCRE全国计算机三级分类
0
三级信息管理技术
NCRE全国计算机三级
相关试题推荐
在计算机系统中,形成死锁的必要条件是()。
操作系统中,文件的逻辑块号到磁盘块号的转换是由下列哪一项决定的?()
下列文件物理结构中,适合随机访问且易于文件扩展的是()。
IM系统工作于用户/服务器模式时,进行消息转发目的地判断的是()。
进程运行过程中,导致进程从运行态转换为就绪态的典型事件是()。
在I/O设备管理中,引入缓冲技术的主要原因是()。
在操作系统各种存储管理方法中,存在外碎片的是()。
某信息系统具有安全内核,其安全等级至少是()。
在可行性研究中,需要进行初步调查。最好的方法是
随机试题
A.解热、镇静剂B.抗组胺药C.强心、利尿剂D.铁螯合剂E.钙剂继发性血色病应用
膀胱、尿道损伤暂时性膀胱造瘘需留管
A.阴中之阳B.阴中之阴C.阴中之至阴D.阳中之阳E.阳中之阴
属于精神分析治疗常用的是
冈崎片段指
发生下面所说的哪种情况,给公民、法人或者其他组织造成财产损失的,行政机关应当依法予以补偿?()
保本基金常见的保本比例介于80%~100%之间。( )
下列关于《刑法》对高利转贷罪的处罚措施中,错误的是()。
学生原有的知识水平或者发展心理水平对新的学习的适应性称之为______。
下列表述中,不符合我国当前基础教育课程设置精神的是()。
最新回复
(
0
)