二级C上机编程题.docx
上传人:qw****27 上传时间:2024-09-12 格式:DOCX 页数:11 大小:48KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

二级C上机编程题.docx

二级C上机编程题.docx

预览

免费试读已结束,剩余 1 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

上机编程题1.编程题请编写函数voidfun(intx,intpp[],int*n),它的功能是:求出能整除x且不是奇数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。例如,若x中的值为24,则有6个数符合要求,它们是2,4,6,8,12,24。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include<conio.h>#include<stdio.h>voidfun(intx,intpp[],int*n){}main(){intx,aa[1000],n,i;clrscr();printf("\nPleaseenteranintegernumber:\n");scanf("%d",&x);fun(x,aa,&n);for(i=0;i<n;i++)printf("%d",aa[i]);printf("\n");}HTMLCONTROLForms.HTML:Hidden.1HTMLCONTROLForms.HTML:Hidden.1HTMLCONTROLForms.HTML:TextArea.1HTMLCONTROLForms.HTML:Hidden.1该题您未回答:х答案:voidfun(intx,intpp[],int*n){inti,j=0;for(i=2;i<=x;i=i+2)/*i的初始值为2,步长为2,确保i为偶数*/if(x%i==0)/*将能整除x的数存入数组pp中*/pp[j++]=i;*n=j;/*传回满足条件的数的个数*/}本题题干信息是:能整除x且不是奇数的所有整数。循环语句中i从2开始且每次增2,所以i始终是偶数。2.编程题请编写函数fun(),它的功能是求Fibonacci数列中小于t的最大的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2)例如:t=1000时,函数值为987。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include<conio.h>#include<math.h>#include<stdio.h>intfun(intt){}main(){intn;clrscr();n=1000;printf("n=%d,f=%d\n",n,fun(n));}HTMLCONTROLForms.HTML:Hidden.1HTMLCONTROLForms.HTML:Hidden.1HTMLCONTROLForms.HTML:TextArea.1HTMLCONTROLForms.HTML:Hidden.1该题您未回答:х答案:intfun(intt){inta=1,b=1,c=0,i;/*a代表第n-2项,b代表第n-1项,c代表第n项*//*如果求得的数c比指定比较的数小,则计算下一个Fibonacci数,对a,b重新置数*/do{c=a+b;a=b;b=c;}while(c<t);/*如果求得的数c比指定比较的数大时,退出循环*/c=a;/*此时数c的前一个Fibonacci数为小于指定比较的数的最大的数*/returnc;}根据所给数列定义不难发现,该数列最终的结果是由两个数列之和组成,所以可以在循环内部始终把c看成是前两项之和(即第n项),而a始终代表第n-2项,b始终代表第n-1项(通过不断地重新赋值来实现)。应注意,退出循环时得到的数c是大于指定比较的数的最小的数,而它的前一个数就是小于指定比较的数的最大的数。3.编程题下列程序定义了N×N的二维数组,并在主函数中赋值。请编写函数fun(),函数的功能是:求出数组周边元素的平方和并作为函数值返回给主函数中的s。例如:若a数组中的值为a=012791112155221611197910254141则返回主程序后s的值应为310。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include<stdio.h>#include<conio.h>#include<stdlib.h>#defineN5intfun(intw[][N]){}main(){inta[N][N]={0,1,2,7,9,1,11,21,5,5,2,21,6,11,1,9