您好,欢迎来到好走旅游网。
搜索
您的当前位置:首页国家二级C语言机试操作题模拟试卷266_真题-无答案

国家二级C语言机试操作题模拟试卷266_真题-无答案

来源:好走旅游网


国家二级C语言机试(操作题)模拟试卷266

(总分6,考试时间90分钟)

2. 程序填空题

1. 给定程序中,函数fun的功能是:计算X所指数组中N个数的平均值(规定所有数均为正数),平均值通过形参返回给主函数,将小于平均值且最接*均值的数作为函数值返回,并在主函数中输出。例如,有10个正数:46、30、32、40、6、17、45、15、48、26,平均值为30.500000。主函数中输出m=30。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!试题程序:1 #include<Stdlib.h>2 #include<Stdio.h>3 #define N 104 double fun(double X[],double*av)5 {int i,j;double d,S ;6 s=0;7 for(i=0,i<N,i++)s=s+x[i];8 /*********found*********/9【1】=S/N;10 d=32767;11 for(i=0;i<N;i++)12 if(x[i]<*av&&*av-x[i]<=d){13 /*********found*********/14 d=*av-x[i];15 j=【2】;16 }17 /*********found*********/18 return【3】;19 }20 main()21 {int i;double x[N],av,m;22 for(i=0;i<N;i++)23 { x[i]=rand()%50;24 printf(\"%4.0 f\",x[i]);}25 printf(\"\n\");26 m=fun(x,&av);27 printf(\"\nThe average is:%f\n”,av);28 printf(\"m=%5.1 f\",m);29 printf(\"\n\");30 }

3. 程序修改题

1. 下列给定程序中函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1,1,2,3,5,8,13,21。…例如,若给n输入7,则该项的斐波拉契数值为13。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stctio.h>long fun(int g){/*********found*********/ switch(g); { case 0:return 0;/*********found*********/ case 1;case 2:return 1; } return(fun(g-1)+fun(g-2));}void main(){ long fib;int n; printf(\"Input n:\"); scanf(\"%d\",&n); printf(\"n=%d\n\",n); fib=fun(n); printf(\"fib=%d\n\n\",fib);}

4. 程序设计题

1. 请编写函数fun,该函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放入主函数的age数组中。要求函数把0~9岁年龄段的人数放在d[0]中,把10~19岁年龄段的人数放在d[1]中,把20~29岁年龄段的人数放在d[2]中,依此类推,把100岁(含100岁)以上年龄的人数都放在d[10]中。结果在主函数中输出。注意:部分源程序在文件PROG1.C中。请勿改动mmn函数和其他函数中的任何内容,仅在函数fun的花括号中填

入你编写的若干语句。试题程序:#include<stdio.h>#define N 50#define M 11void fun(int*a,int;*b){}double rnd(){ static t=29,c=217,m=1024,r=0; r=(r*t+c)%m; return((doubZe)r/m);}void main(){ FILE*wf; int age[N],i,d[M]; int b[N]={32,45,15,12,86,49,97,3,44,52,17,95,63}; for(i=0;i<N;i++) age[i]=(int)(115*rnd());/*产生一个随机的年龄数组*/ printf(\"The original data:\n\"); for(i=0;i<N;i++) printf((i+1)%10==0?\"%4d\n\":\"%4d\",age[i]);/*每行输出10个数*/ printf(\"\n\n\"); fun(age,d); for(i=0;i<10;i++) printf(\"%4d---%4d:%4d\n\",i*10,i*10+9,d[i]); printf(\"Over 100:%4d\n\",d[10]);/******************/ wf=fopen(\"out.dat\",\"w\"); fun(b,d); for(i=0;i<10;i++) fprintf(wf,\"%4d--%4d:%4d\n\",i*10,i*10+9,d[i]); fprintf(wf,\"over 100:%4d\",d[10]); fcloSe(wf);/******************/}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务