预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

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

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.1 HTMLCONTROLForms.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)=1 F(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.1 HTMLCONTROLForms.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=01279 1112155 2216111 979102 54141 则返回主程序后s的值应为310。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include<stdio.h> #include<conio.h> #include<stdlib.h> #defineN5 intfun(intw[][N]) { } main() { inta[N][N]={0,1,2,7,9,1,11,21,5,5,2,21,6,11,1,9