1、青海大学题库c语言程序设计试卷编号:9478所属语言:C语言试卷总分:1260分共有题型:1种一、程序设计共126题(共计1260分)第1题(10.0分)题号:507难度:易第1章/*-【程序设计】-功能:编写函数fun求一个字符串的长度,在main函数中输入字符串,并输出其长度。-*/#includevoidwwjt();intfun(char*p1)/*Program*/*End*/main()char*p,a20;intlen;p=a;printf(pleaseinputastring:n);gets(p);len=fun(p);printf(Thestringslengthis:%dn
2、,len);wwjt();voidwwjt()FILE*IN,*OUT;char*pIN,sin20;intiOUT,i;pIN=sin;IN=fopen(3.IN,r);if(IN=NULL)printf(PleaseVerifyTheCurrerntDir.itMayBeChanged);OUT=fopen(3.out,w);if(OUT=NULL)printf(PleaseVerifyTheCurrentDir.itMayBeChanged);for(i=0;i10;i+)fscanf(IN,%s,pIN);iOUT=fun(pIN);fprintf(OUT,%dn,iOUT);fclo
3、se(IN);fclose(OUT);答案:-char*p;intn=0;p=p1;while(*p+)n+;returnn;-第2题(10.0分)题号:386难度:中第2章/*-【程序设计】-功能:用函数求N个10,60上的整数中能被5整除的最大的数,如存在则返回这个最大值,如果不存在则返回0。-*/#defineN30#includestdlib.h#includevoidwwjt();intfind(intarr,intn)intm=0;/*Program*/*End*/return(m);main()intaN,i,k;for(i=0;iN;i+)ai=random(51)+10;fo
4、r(i=0;iN;i+)printf(%5d,ai);if(i+1)%5=0)printf(n);k=find(a,N);if(k=0)printf(NOFOUNDn);elseprintf(themaxis:%dn,k);wwjt();voidwwjt()FILE*IN,*OUT;intn;inti5;into;IN=fopen(in.dat,r);if(IN=NULL)printf(ReadFILEError);OUT=fopen(out.dat,w);if(OUT=NULL)printf(WriteFILEError);for(n=0;n5;n+)fscanf(IN,%d,&in);o=
5、find(i,5);fprintf(OUT,%dn,o);fclose(IN);fclose(OUT);答案:-inti;for(i=0;im)m=arri;-第3题(10.0分)题号:321难度:中第2章/*-【程序设计】-功能:编写函数fun其功能是:根据整型形参m,计算如下公式的值:y=1/2!+1/4!+1/m!(m是偶数)-*/#includevoidwwjt();doublefun(intm)/*Program*/*End*/main()intn;printf(Entern:);scanf(%d,&n);printf(nTheresultis%1fn,fun(n);wwjt();v
6、oidwwjt()FILE*IN,*OUT;intt;doubleo;intc;IN=fopen(in.dat,r);if(IN=NULL)printf(ReadFILEError);OUT=fopen(out.dat,w);if(OUT=NULL)printf(WriteFILEError);for(c=1;c=5;c+)fscanf(IN,%d,&t);o=fun(t);fprintf(OUT,%fn,o);fclose(IN);fclose(OUT);答案:doubley=0.0;inti,j;doubles=1;for(i=2;i=m;i+=2)for(j=i-1;j=i;j+)s=s
7、*j;y=y+1.0/s;returny;第4题(10.0分)题号:54难度:易第1章/*-【程序设计】-功能:求1到100之间的偶数之积。-*/#includevoidwwjt();doublefun(intm)/*Program*/*End*/main()printf(ji=%fn,fun(100);wwjt();voidwwjt()FILE*IN,*OUT;intiIN,i;doubledOUT;IN=fopen(23.IN,r);if(IN=NULL)printf(PleaseVerifyTheCurrerntDir.itMayBeChanged);OUT=fopen(23.out,w
8、);if(OUT=NULL)printf(PleaseVerifyTheCurrentDir.itMayBeChanged);for(i=0;i10;i+)fscanf(IN,%d,&iIN);dOUT=fun(iIN);fprintf(OUT,%fn,dOUT);fclose(IN);fclose(OUT);答案:-doubley=1;inti;for(i=1;i=m;i+)if(i%2=0)y*=i;returny;-第5题(10.0分)题号:62难度:难第2章/*-【程序设计】-功能:求5行5列矩阵的主、副对角线上元素之和。注意,两条对角线相交的元素只加一次。例如:主函数中给出的矩阵的两
9、条对角线的和为45。-*/#include#defineM5voidwwjt();intfun(intaMM)/*Program*/*End*/main()intaMM=1,3,5,7,9,2,4,6,8,10,2,3,4,5,6,4,5,6,7,8,1,3,4,5,6;inty;y=fun(a);printf(s=%dn,y);wwjt();voidwwjt()FILE*IN,*OUT;intiINMM,iOUT;inti,j;IN=fopen(in.dat,r);if(IN=NULL)printf(PleaseVerifyTheCurrerntDir.itMayBeChanged);OUT
10、=fopen(out.dat,w);if(OUT=NULL)printf(PleaseVerifyTheCurrentDir.itMayBeChanged);for(i=0;iM;i+)for(j=0;jM;j+)fscanf(IN,%d,&iINij);iOUT=fun(iIN);fprintf(OUT,%dn,iOUT);fclose(IN);fclose(OUT);答案:-ints=0;inti,j;for(i=0;iM;i+)s=s+aii+aiM-1-i;s=s-a(M-1)/2(M-1)/2;returns;-第6题(10.0分)题号:37难度:较难第6章/*-【程序设计】-功能:
11、输入2个学生3门课的成绩,计算学生成绩平均分,课程平均分和最高分.例如:输入2名学生3门课的成绩分别为92,87,68,56,92,84则学生1平均分:82.33学生2平均分:77.33课程1平均分:74.00课程2平均分:89.50课程3平均分:76.00最高分为:92-*/#includevoidwwjt();/*定义全局变量*/*学生成绩平均分*/floatStuAgv2;/*课程平均分*/floatCouAgv3;/*所有学生的所有课程最高分*/floatMax=0;/*说明:需要在下面函数中把题干要求中的结果赋值到上面定义一变量中*/voidfun(floatscore23)/*Pr
12、ogram*/*End*/voidmain()inti,j;floatscore23;printf(输入学生的成绩:);for(i=0;i2;i+)for(j=0;j3;j+)scanf(%f,&scoreij);printf(n输出学生的成绩:);for(i=0;i2;i+)for(j=0;j3;j+)printf(%.2f,scoreij);printf(n);fun(score);for(i=0;i2;i+)printf(第%d个学生的平均成绩是:%0.2fn,i+1,StuAgvi);for(j=0;j3;j+)printf(第%d门课的平均成绩是:%0.2fn,j+1,CouAgvj
13、);printf(所有分数中的最高分为:%.2fn,Max);wwjt();voidwwjt()FILE*IN,*OUT;floatiIN23;inti,j;IN=fopen(in.dat,r);if(IN=NULL)printf(PleaseVerifyTheCurrerntDir.itMayBeChanged);OUT=fopen(out.dat,w);if(OUT=NULL)printf(PleaseVerifyTheCurrentDir.itMayBeChanged);for(i=0;i2;i+)for(j=0;j3;j+)fscanf(IN,%f,&iINij);fun(iIN);f
14、or(i=0;i2;i+)fprintf(OUT,%.2fn,StuAgvi);for(j=0;j3;j+)fprintf(OUT,%.2fn,CouAgvj);fprintf(OUT,%.2fn,Max);fclose(IN);fclose(OUT);return;答案: inti,j; floatsum;for(i=0;i2;i+)/*计算第i个学生平均分*/ sum=0;for(j=0;j3;j+)sum=sum+scoreij;StuAgvi=sum/3; for(j=0;j3;j+)/*计算第j门课的平均分*/ sum=0;for(i=0;i2;i+)sum=sum+scoreij;
15、CouAgvj=sum/2; Max=score00;for(i=0;i2;i+)for(j=0;j3;j+)if(Max=scoreij) Max=scoreij;return;第7题(10.0分)题号:322难度:中第2章/*-【程序设计】-功能:判断一个整数w的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。-*/#include#includeconio.hvoidwwjt();intfun(intw)/*Program*/*End*/main()intm;printf(Enterm:);scanf(%d,&m);printf(nTheresultis%dn,fun(m
16、);wwjt();voidwwjt()FILE*IN,*OUT;intc;intt;into;IN=fopen(in.dat,r);if(IN=NULL)printf(ReadFILEError);OUT=fopen(out.dat,w);if(OUT=NULL)printf(WriteFILEError);for(c=1;c=5;c+)fscanf(IN,%d,&t);o=fun(t);fprintf(OUT,%dn,o);fclose(IN);fclose(OUT);答案:-intk,s=0;dos=s+(w%10)*(w%10);w=w/10;while(w!=0);if(s%5=0)k
17、=1;elsek=0;return(k);-第8题(10.0分)题号:513难度:中第95章/*-【程序设计】-题目:编程序,输入两个字符串a,b(40个字符),将两者连接后输出c(不能用strcat库函数)。-*/#include#includevoidmain()/*Program*/*End*/答案:chara40,b40,c80;inti,j;printf(分二行输入两个字符串:n);gets(a);gets(b);for(i=0;ai!=0;i+)ci=ai;for(j=0;bj!=0;j+)ci+j=bj; ci+j=0;puts(c);第9题(10.0分)题号:594难度:中第1
18、章/*-【程序设计】-请编一个函数voidfun(intttMN,intppN),tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:-*/#include#include#include#defineM3#defineN4voidfun(intttMN,intppN)inti,j,max;/*Program*/*End*/voidmain()FILE*wf;inttMN=68,32,54,12,
19、14,24,88,58,42,22,44,56;intpN,i,j,k;system(CLS);printf(Theriginaldatais:n);for(i=0;iM;i+)for(j=0;jN;j+)printf(%6d,tij);printf(n);fun(t,p);printf(nTheresultis:n);for(k=0;kN;k+)printf(%4d,pk);printf(n);wf=fopen(out.txt,w);for(k=0;kN;k+)fprintf(wf,%4d,pk);fclose(wf);答案:for(j=0;jN;j+)max=tt0j;for(i=0;im
20、ax) max=ttij;ppj=max;第10题(10.0分)题号:319难度:中第2章/*-【程序设计】-功能:判断m是否为素数。-*/#includestdio.hvoidwwjt();intfun(intm)/*Program*/*End*/main()intm,k=0;for(m=100;m200;m+)if(fun(m)printf(%4d,m);k+;if(k%5=0)printf(n);printf(k=%dn,k);wwjt();voidwwjt()FILE*IN,*OUT;intiIN,iOUT,i;IN=fopen(in.dat,r);if(IN=NULL)printf(Pl
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1