计算机二级C语言上机编程题详细分析_第1页
计算机二级C语言上机编程题详细分析_第2页
计算机二级C语言上机编程题详细分析_第3页
计算机二级C语言上机编程题详细分析_第4页
计算机二级C语言上机编程题详细分析_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——计算机二级C语言上机编程题详细分析计算机二级C语言上机编程题细致分析

相信不少同学都认为计算机二级C语言上机编程题很难,所以今天我为大家带来计算机二级C语言上机编程题细致分析,梦想各位考生考出梦想劳绩。

1、请编一个函数fun,它的功能是:根据以下公式求的值要求得志精度0.0005,即,某项小于0.0005时中断迭代:

程序运行后,假设输入精度0.0005,那么程序输出多少。

留神:片面源程序存在PROG1.C中,请勿改动主函数和其他函数中的内容,仅在函数fun的指定的部位填入你编写的若干语句。

试题源程序如下:

#include

#include

doublefundoubleeps

main

doublex;

printfInputeps:;

scanf%lf,x;printf\neps=%lf,PI=%lf\n,x,funx;

分析:

1此题所用根本算法应为累加。假设累加值放在变量s中,累加项放在变量t中,累加操作由语句s=s+t;来实现。

2若称为第1累加项,那么其前的1为第0累加项,其后的一项为第2累加项,按给定的公式可知,从第1累加项开头,后一项的累加项是前一项的值乘以。所以当前的累加项应当是:t=t*n/2.0*n+1.0。表达式右边的t中是前一项的值,表达式左边的t为当前的每累加累加项。请留神,不要写成:t*n/2*n+1而举行整除。

3若第0累加项的1作为s的初值,语句:s=s+t;执行n次,就把第1到第n项累加到了s中。每举行一次累加,n值增1。

4把以上操作放在循环中。按此题规定,当某项小于eps0.0005时中断迭代,因此若用while循环,可用t=eps作为操纵循环举行的条件:

whilet=epss+=t;n++;t=t*n/2.0*n+1;

5留神应给所用变量赋适当的初值。

6退出循环后,函数的返回值应是:2*s。2、请编一个函数fun,其中n所指存储单元中存放了数组中元素的个数。函数的功能是:删除全体值为y的元素。已在主函数中给数组元素赋值,y的值由主函数通过键盘读入。

留神:片面源程序存在PROG1.C中,请勿改动主函数和其他函数中的内容,仅在函数fun的指定的部位填入你编写的若干语句。

试题源程序如下:

#include

#defineM20

voidfunintbb[],int*n,inty

main

intaa[M]=1,2,3,3,2,1,1,2,3,4,5,4,3,2,1,n=15,y,k;

printfTheoriginaldatais:\n;

fork=0;k

funaa,n,y;

printfThedataafterdeleted%d:\n,y;

fork=0;k

分析:

1此题的根本算法是查找和删除。

2若循环操纵变量是i,通过for循环逐个检查元素中的值,把数组元素中不等于y的值从头开头重新放入bb所指的数组中。用i作为下标,逐个引用数组元素;用i作为下标,把不等于y的元素中的.值逐一重新放入bb所指的数组中。这一操作可用以下语句来实现:

ifbb[i]!=ybb[j++]=bb[i];

3由于已删除了与y值相等的元素,因此,数组中数据的个数已经变更;所以循环终止后,需要重新给n所指变量赋值。退出循环后,变量j中存放的是删除后数组中数据的个数,通过语句*n=j;把它赋给n所指变量即可。

4主函数中输出aa数组中原有的数据,和删除后的数据。考生可以对照所编函数是否正确。3.请编写一个函数voidfuncharm,intk,intxx[],该函数的功能是:将大于整数m且紧靠m的k个素数存入xx所指的数组中。例如,若输入17和5,那么应输出:19,23,29,31,37。

留神:片面源程序存在PROG1.C中,请勿改动主函数和其他函数中的内容,仅在函数fun的指定的部位填入你编写的若干语句。

试题源程序如下:

#include

voidfunintm,intk,intxx[]

main

intm,n,zz[100];

printf\nPleaseentertwointegersmn:;

scanf%d%d,m,n;

funm,n,zz;

form=0;m

printf\n\n;

分析:

1此题的根本算法是求素数。假设有整数i,若i不能被2到i之间的任意一个数除尽,那么i就是素数;若一旦能被某个数除尽就不是素数。

2以下是求i是否为素数的根本算法:变量ok用作i是素数的标志,ok为1,那么i是素数。

ok=1;

forp=2;p

ifi%p==0ok=0;break;

ifok

3此题要求把大于m的k个素数存入xx所指的数组中。所以,i的值应大于m;取大于m的值逐一举行判断,若是素数就放入xx所指数组中。把以上语句放入一个循环中:

fori=m+1,j=0;?;i++

ok=1;

forp=2;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论