湖南工业大学C语言上机操作考试题(1)_第1页
湖南工业大学C语言上机操作考试题(1)_第2页
湖南工业大学C语言上机操作考试题(1)_第3页
湖南工业大学C语言上机操作考试题(1)_第4页
湖南工业大学C语言上机操作考试题(1)_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言机试模拟试题一、改错题:(30分)1、求一维数组a中的值为偶数的元素之和。#include <stdio.h>siun (iiit aii ,iiit n) iiit i,s;s = 0;for (i=0; i<n; i-H-)if (aiii % 2 = 0)/千不帀于于于乔于下于千TO1 111(i于于不下下于千千不不于千/s=s+i;改为:s = s + arri;retiun (s);void maiii() iiit a10=10,4,2,7,3,12,5,34,5,9,i,s;/平平平平平千平于平平平平Tcm、ci于平千千平于千平于千平于/s = sum(

2、a ,2 );改为:s = sum( a ,10 ); printf("The result is: %dn", s);2、求一维数组a中的值为奇数的元素之和。#iiiclude <coiiio.h>卄include <stdio.h>iiit sum( iiit b ,iiit n) iiit i,s = 0;for (i=0; i<n; i-H-)if (bi % 2 = 1)y* * */s = s + bi改为:retiun (s);void inaiii() iiit a12=10,4,2,7,3,12,5,34,5,9,21,19,

3、ii;9Y/下不千于于节下于节千于节re Hi(i于于不不下于千节不不于干/n = sum(a,2);改为: piiiitf("The result is :%dii'n );3、求二维数组a中的最大值和最小值。#iiiclude <stdio.h>void maiii()iiit a33=4,4,34,37,3,12,5,6,5,i,j,max»min;/cliscr();max = niiii = a00;for (i=0; i<3; i卄)>Y/干千平于千千平于千千千千Tcm】Ci于千于下平于千千千于于千/for (j=l; j<

4、3; j-H-)改为:for (j=0; j<3; jF) if(max<aij) max = aij;/平平平平平平平于平于平平tc】m c于于平千平于平千于千平于/ if(niiii<aij)改为:if (min > aiUJ) nwi = aij;printfpThe max is: %dnn, max); printf("The min is: %dn", min);/求一维数组a中的最大元素及其下标。#iiiclude <stdio.h>void maiii()iiit a10=l,4,2,7,3,12,5,34,5,9,i,m

5、ax,pos;/cliscr();max = a0;pos = 0;for (i=l; i<10; i-H-)9Y/平不于于平下下于于于平IO1 111f|于于平平下于于平千于于于/if (max > ai)改为:if (max< ai)max = ai;i = pos;改为:pos = i; piintfpThe max is: %d、pos is: %dir max , pos);5猴子吃桃的问题,求第一天的桃子数。#iiiclude <stdlib.h>#include <math.h>void maiii() iiit i,j,x,p; /cl

6、i'scr(); x=l;j=12;改为:j=ll;wliile(j>=l) p=(x+l)*2;/xlx/平平平于于乎于不于于平下Tc hi门 于平平吓平于平平平方平卒/P=X:改为:x = p;j“;pi'iiitf(ntotal is %dn",p);6、求一维数组a中的值为奇数的元素的平均值。#iiiclude vstdio.h>double average(iiit an , int n) iiit k=0,i; double s;s = 0;for (i=0 ;i<n; i-H-)if (arri % 2 = 1)改为:if (arri

7、% 2 = =1) s = s + aiyi; k-H-; retiun (s/k);void maiii() inta12=10,4,2,7,3,12,5,34,5,9,21,18; double s;/ cliscr();s = average(a12,12);改为:s = average(a, 12); printffThe result is: %.2fn", s);二、填空题:(30分)1、程序的功能是:在第一个循环中从键盘上给a数组的前M (M<100)个数组元素依次赋值,在第二个循环中使a数组前M个元素中的值对称折叠,在最后一个循环中输出折叠后的a数组 的前M个元

8、素。程序如下:#defiiie M 5void maiii() int i,a100,t;/clrscr();for(i=0;i<M;i-H-)(1)填写的语句为:scaiif(-%d-,&ai);/Yf/于下平于于平于下于平平平于于t"C 1T1 f|平平平平于平下平平于平平/for(i=0;_(2)_;i+)-填写的语句为:ivM/2 aM-i-l=ai;for(i=0;i<M;i-H-)printf(n%5drai);printf(”n”);2、计算正整数num的各位上的数字之和。#iiiclude vstdio.h>void maiii() ( ii

9、it num,k;/cli'scr();(1);填写的语句为:k=0; piiiitf("Please enter a munber:n); scanf(”d",&num);dok= (2) ;填写的语句为:k=k+mun% 10;mmi/=10; wliile(nxun);printf(”n%dn”,k);email is 663、求cmaii=in!/n! *(mn)!之值,例如:m=12,n=2时, #iiiclude <inath.h># include <st±o.h>long iiit fiui(int x)lo

10、ng int s=l; iiit i; for (i=l;iv=x:i+) s*=i;9!/节不乔于于于下于不于于IO1 111 Ci于于不不帝于千不不不于于/(1);填写的语句为:retimis;void main() long iiit m=12,n=2,sl,s2,s3;/clrscr();sl=fim(m);s2=fiui(n);s3=fiui(m-n);piiiitf(nCnm is : %ld",(2);填写的语句为:sl/(s2*s3) 4、输出Fabonacci数列1, 1, 2, 3, 5前20项,要求每位输出5个 数。#iiiclude "stdio.h

11、" void maiii() longiiit f20=l,l; iiit i;/ckscr();J1 YJi千于于于千千平于节千千于平于TcimC于千平于千千千于平千千平/(1);填写的语句:intj=O;for(i=2;i<20;i-H-)fi=fil+fli2;JJ/千干节于千千于于节千千于于千TcimC千千于于干千千于于千干千/if(2) piintf("n");填写的语句:j卄5=0piintf(n%81d,',fi);printf(”n”);5、求两个正整数m,n之间所有既能被3整除也能被7整除的整数之 和。#iiiclude <m

12、ath.h> #mclude <stdio.h>main()(iiit mjiXt; long iiit s=0; /c1isct();scanf("%d,%d”,&m, &n); if( m>n)t=in; m=n; n=t;for (1);讦+)填写的语句:i=m;i<=n;if( i%3=0 && i%7=0 )s += i;9Y/不帝不于于于下于节于干节tC"!"IT】(i于于不不节于千不不不于于/printf("Sum is :(2)n",s );填写的语句:%ld6、从键

13、盘输入一个由数字组成的字符串(字符串长度小于8),将 该字符串转换成一个十进制数。例如:从键盘输入12345,则程 序运行的结果应当为:n=12345#iiiclude "stdio.h" #iiiclude nstiiiig.hM void maiii() char s10; mt i; long int ix /cli'scr();(1);填写的语句:n=0 scanf(”s",s); for(i=0;i<strlen(s);i-H-)n=n* 10+(2);填写的语句:i+1pmitf(,n=%idn,3i)r7、从键盘输入一个正整数几计算并输

14、出n的阶乘。/include <math.h>#iiiclude <coiiio.h>#iiiclude <stdio.h> long fac( iiit n) mt i;long t=l;foi( i=2;i<=ii;i-H-) t = t*i;retimi (t);void main() int n; long iiit s; / ckscr();piiiitf(nEntei ail integer munber:M);9Yi平下平平平千平于平平平平Tcim/ |于平平千平于平平千于于于/(1);填写的语句:scaiif(n%ldr&n);

15、s = fac(n);f/千于千千千千平千千千干存TcimCi于千干千于于千千千于于千/%ldprintf(”The result is :(2)n",s);填写的语句: 三、编程题:(40分)1按下面的公式求S的近似值,直到最后一项值的绝对值小于X为止,X的 值由键盘输入,结果保留4位小数。分析:这是一个求若干个数之和的累加问题,终止循环的条件是最后一 项值的绝对值小于x, x的值由键盘输入,当退出循环时,sum的值己经 累加了最后一项a的值,因此要减去最后一项a的值。S=ll/3+l/5l/9+.4-(-l)A(n-l)l/2n-l/include "stdio.h&q

16、uot;#iiiclude "math.h”#mclude "stdlib.h"double fiui(double x)/水水水水水水水水水水*begjji水水水*水水水水水水水/ iiit y,i=l;double a、sum=0.0:do if(i%2=0) y=-i;else y=l; a=y*1.0/(2*i-l); sum=sum+a;iH;wliile (fabs(a)> =x); retiun siun-a;9YI/千于于于千千于于节于于Qllfl 千千千平于千于于于于于/ void main()double x,sum:printf(” E

17、nter x:nH);scanf(“lf; &x);sum=fim(x);print f(" sum=% .4 fn", sum); NONO();NONO()FILE *fi*fw;iiit i;double x;fi=fopenCD:exam03200310PROGIN.DAT”,T');fv=fopen(” D:exam03200310PROGOUT.DAT”,”w”); fdr(i=l;i<=5;i-H-) fscaiifi'/lf&x);fpniitf(fw,Ms=%.4firfim(x);fclose(fr);fclose(

18、fw); 2、将一个4位的整数m拆开,然后按相反的顺序输出,每输岀一位数其 后留2个空格。如m=1234,输出的结果应为m=1234,4 3 2 1程序如 下:(同学们自己编程,程序放在/*begiii*/ U/*end*/J2.间)#iiiclude "stdio.h"#iiiclude nmath.hM #iiiclude "stdlib.h" void main() iiit m=l234,a,b,c,d;piiiitf(nm=%d,%d %d %d %diVm,a,b,c,d); NONO(m,a,b,c,d);NONO( x,a,b,c,d)i

19、nt x,a,b,c,d:FILE *f;Ufopen(”D:exam03200302PROGOUT.DAT”,”w”); fpiiiitf(f,'x=%d: %3d%3d%3d%3d#n",x,a,b,c,d); fclose(f);3、按下面的公式,求S的近似值。S=l+l/2*2+l/3*3+.+l/n*n #iiiclude "stdio.h"#include Mmath.hH #iiiclude "stdlib.h" double fiui(iiit n)iiit i;double p,siun=0.0; for(i=l;i&

20、lt;=n;i-H-)sum=sum+l .0/p;retimi sum;void maiii() double s;iiit lx/cliscr();piiiitf( "Enter s:n");scaiif("%dM,&n);s=ftm(n);printf(”s=%.3fn”,s);NONO();NONO() FILEiiit i,m;fi=fopen(”D:exam03200306PROGIN.DAT”,T); fw=fopen(nD:exain03200306PROGOUT.DATM,wn); fbi(i=l;i<=5;i-H-) fscanf

21、(ft,"%d”,&m);fclose(fr);fclose(fw);4、求一个三数m的各位上的数字之和。m由键盘输入。(同学们#iiiclude <stdio.h> iiit fiiii(iiit m) void maiii() iiit in,s;/clrscr(); piiiitf(nEnter m :n”);scaiif(n%dr&m);s=fuii(m);piiiitf("Resiilt is: %dn",s);NONO();NONO() FILE *fr,*fw;iiit i,j,k,m:fi=fopen(”D:exam03

22、200308PROGIN.DAT”,”T”); fw=fbpen(,D:exain03200308PROGOUT.DATn,wM);foi(i=l;i<=5;i-H-) fscaiif(fr,n%d",&m);垃 nntf(fv,"Sum = %dn”,fun(m);fclose(fr);fclose(fw);5、求两个正整数m和n的最大公约数,将求出的最大公数存入变 量t中。#iiiclude "stdio.h"#iiiclude "math.h"#include "stdlib.h"void main() int m=764i=40,t,i;/水水水水水*水水水*b egiii */9J/平

温馨提示

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

评论

0/150

提交评论