程序设计(中)

上传人:沈*** 文档编号:181929359 上传时间:2023-01-18 格式:DOC 页数:58 大小:355.50KB
收藏 版权申诉 举报 下载
程序设计(中)_第1页
第1页 / 共58页
程序设计(中)_第2页
第2页 / 共58页
程序设计(中)_第3页
第3页 / 共58页
资源描述:

《程序设计(中)》由会员分享,可在线阅读,更多相关《程序设计(中)(58页珍藏版)》请在装配图网上搜索。

1、试卷编号:18338所属语言:Turbo C试卷方案:phq2试卷总分:340分共有题型:1种一、程序设计 共34题 (共计340分)第1题 (10.0分) 题号:380/*-【程序设计】-功能:给定n个数据, 求最大值出现的位置(如果最大值出 现多次,求出第一次出现的位置即可)。-*/#includeint station(int s,int n) /*Program*/ /* End */main() int a100,n,i,t; clrscr(); scanf(%d,&n); for(i=0;in;i+) scanf(%d,&ai); t=station(a,n); printf(th

2、e max_value position is:%dn,t); yzj(); getch();yzj() FILE *IN,*OUT; int n; int i10; int o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write File Error); for(n=0;n10;n+) fscanf(IN,%d,&in); o=station(i,10); fprintf(OUT,%dn,o); fclose(IN); fclose(

3、OUT);答案:-int i,k; k=0; for(i=1;isk) k=i; return(k+1);-第2题 (10.0分) 题号:321/*-【程序设计】-功能:在键盘上输入一个3行3列矩阵的各个元素的值(值 为整数),然后输出主对角线元素的积,并在fun() 函数中输出。-*/#include stdio.h main() int i,j,s,a33; for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); s=fun(a); printf(Sum=%dn,s); yzj(); getch();int fun(int a33) /*Program*

4、/ /* End */ yzj() FILE *IN,*OUT; int m; int n; int i33; int o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write File Error); for(m=0;m3;m+) for(n=0;n3;n+) fscanf(IN,%d,&imn); o=fun(i); fprintf(OUT,%dn,o); getch(); fclose(IN); fclose(OUT);答案:-in

5、t sum;int i,j;sum=1;for(i=0;i3;i+) sum=sum*aii; return sum;-第3题 (10.0分) 题号:331/*-【程序设计】-功能:计算出k以内最大的10个能被13或17整除的自然数之 和。(k3000)。-*/#include stdio.h#includeconio.h int fun(int k) /*Program*/ /* End */ main() int m; printf(Enter m: ); scanf(%d, &m); printf(nThe result is %dn, fun(m); yzj(); getch(); y

6、zj() FILE *IN,*OUT; int s ; int t; int o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write File Error); for(s=1;s=2)&(b10)if(k%13=0)|(k%17=0) a=a+k;b+; k-; return a;-第4题 (10.0分) 题号:370/*-【程序设计】-功能:编写函数判断一个整数m的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函

7、数找出 100200之间满足条件的所有数。-*/#include stdio.hint sub(int m) /*Program*/ /* End */main() int i; for(i=100;i=200;i+) if(sub(i)=1) printf(%4d,i); yzj(); getch();yzj() FILE *IN,*OUT; int n; int i10; int o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Writ

8、e File Error); for(n=0;n10;n+) fscanf(IN,%d,&in); for(n=0;n10;n+) o=sub(in); fprintf(OUT,%dn,o); fclose(IN); fclose(OUT);答案:-int k,s=0; do s=s+m%10; m=m/10; while(m!=0); if(s%7=0)k=1; else k=0; return(k);-第5题 (10.0分) 题号:367/*-【程序设计】-功能:求一组数中大于平均值的数的个数。例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函 数值为3。-*/ #

9、include stdio.hint fun(int a,int n) /*Program*/ /* End */ main() int a10=1,3,6,9,4,23,35,67,12,88; int y; y=fun(a,10); printf(y=%dn,y); yzj(); getch();yzj() FILE *IN,*OUT; int iIN10,iOUT,i,j; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.It May Be Changed); OUT=fopen(out.dat,

10、w); if(OUT=NULL) printf(Please Verify The Current Dir. It May Be Changed); for(j=0;j10;j+) for(i=0;i10;i+) fscanf(IN,%d,&iINi); iOUT=fun(iIN,10); fprintf(OUT,%dn,iOUT); fclose(IN); fclose(OUT);答案:-int i,k=0; float s=0,ave; for(i=0;in;i+) s+=ai; ave=s/n; printf(%f ,ave); for(i=0;iave)k+; return k;-第6

11、题 (10.0分) 题号:317/*-【程序设计】-功能:统计出若干个学生的平均成绩,最高分以及得最高 分的人数。例如:输入10名学生的成绩分别为92,87,68,56,92, 84,67,75,92,66,则输出平均成绩为77.9, 最高分为92,得最高分的人数为3人。-*/#include stdio.h float Max=0;int J=0;float fun(float array,int n) /*Program*/ /* End */ main( ) float a10,ave; int i=0; for(i=0;i10;i+) scanf(%f,&ai); ave=fun(a,

12、10); printf(ave=%fn,ave); printf(max=%fn,Max); printf(Total:%dn,J); getch(); yzj();yzj() FILE *IN,*OUT; float iIN10,iOUT; int iCOUNT; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.It May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. It

13、May Be Changed); for(iCOUNT=0;iCOUNT10;iCOUNT+) fscanf(IN,%f,&iINiCOUNT); iOUT=fun(iIN,10); fprintf(OUT,%f %fn,iOUT,Max); fclose(IN); fclose(OUT);答案:-int i;float sum=0,ave; Max=array0;for(i=0;in;i+) if(Maxarray i) Max=array i; sum=sum+array i; ave=sum/n; for(i=0;in;i+) if(array i=Max) J+;return(ave)

14、;-第7题 (10.0分) 题号:351/*-【程序设计】-功能:请编一个函数void fun(int ttMN,int ppN), tt指向一个M行N列的二维数组,求出二维数组每列 中最小元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。-*/#include#include#define M 3#define N 4 void fun(int ttMN,int ppN) /*Program*/ /* End */main() int tMN=22,45,56,30, 19,33,45,38, 20,22,66,40; int pN,i,j,k; clrscr(); pr

15、intf(The original data is:n); for(i=0;iM;i+) for(j=0;jN;j+) printf(%6d,tij); printf(n); fun(t,p); printf(nThe result is:n); for(k=0;kN;k+) printf(%4d,pk); printf(n); getch(); NONO();NONO() int i,j, array34,p4; FILE *rf, *wf ; rf = fopen(in.dat, r) ; wf = fopen(out.dat, w) ; for (i=0; i 3; i+) for (j

16、=0; j 4; j+) fscanf(rf, %d, &arrayij); fun(array,p); for (j=0; j 4; j+) fprintf(wf, %7d, pj); fprintf(wf, n); fclose(rf) ; fclose(wf) ; 答案:- int i,j; for(j=0;jN;j+) ppj=tt0j; for(i=1;iM;i+) if(ttijppj) ppj=ttij; -第8题 (10.0分) 题号:400/*-【程序设计】-功能:编写程序求无理数e的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+.+1/n! 当1/n!=0.

17、000001) e=e+jc; j=1; for(k=1;k=i;k+) j=j*k; jc=1.0/j; i+; return e;-第9题 (10.0分) 题号:399/*-【程序设计】-功能:编写函数fun求s=1k+2k +3k + .+Nk的值, (1的K次方到N的K次方的累加和)。-*/#define K 4#define N 5#include stdio.hlong fun(int n,int k) /*Program*/ /* End */ main() long int sum; printf(Sum of %d powers of integers from 1 to %

18、d = ,K,N); sum=fun(N,K); printf(%ldn,sum); getch(); yzj();yzj() FILE *IN,*OUT; int n; int i2; long o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write File Error); for(n=0;n2;n+) fscanf(IN,%d,&in); o=fun(i0,i1); fprintf(OUT,%ldn,o); fclose(IN);

19、 fclose(OUT);答案:-long power,sum=0; int i,j; for(i=1;i=n;i+) power=i; for(j=1;jk;j+) power *= i; sum += power; return sum;-第10题 (10.0分) 题号:343/*-【程序设计】-功能:在键盘上输入一个3行3列矩阵的各个元素的值(值 为整数),然后输出矩阵第一行与第三行元素之和, 并在fun()函数中输出。-*/#include stdio.hmain() int i,j,s,a33; for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij)

20、; s=fun(a); printf(Sum=%dn,s); yzj(); getch();int fun(int a33) /*Program*/ /* End */ yzj() FILE *IN,*OUT; int m; int n; int i33; int o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write File Error); for(m=0;m3;m+) for(n=0;n3;n+) fscanf(IN,%d,&im

21、n); o=fun(i); fprintf(OUT,%dn,o); getch(); fclose(IN); fclose(OUT);答案:-int sum;int i,j;sum=0;for(i=0;i3;i+=2)for(j=0;j3;j+) sum=sum+aij; return sum;-第11题 (10.0分) 题号:374/*-【程序设计】-功能:用函数求fibonacci数列前n项的和。说明:fibonacci数列为数列的第一项值为1,第二项值也 为1,从第三项开始,每一项均为其前面相邻两项 的和。例如:当n=28时,运行结果:832039-*/#include stdio.hl

22、ong sum(long f1,long f2) /*Program*/ /* End */main() long int f1=1,f2=1; clrscr(); printf(sum=%ldn,sum(f1,f2); yzj(); getch();yzj() FILE *IN,*OUT; int m,n; int i2; long int o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write File Error); for(n=

23、0;n2;n+) fscanf(IN,%d,&in); o = sum(i0,i1); fprintf(OUT,%ldn,o); fclose(IN); fclose(OUT);答案:- long f,k=f1+f2; int i; for(i=3;i=28;i+) f=f1+f2; k=k+f; f1=f2; f2=f; return(k);-第12题 (10.0分) 题号:388/*-【程序设计】-功能:求一批数中最大值和最小值的差。-*/int max_min(int a,int n) /*Program*/ /* End */#define N 30#include stdlib.h#

24、include stdio.hmain() int aN,i,k; clrscr(); for(i=0;iN;i+) ai=random(51)+10; for(i=0;iN;i+) printf(%5d,ai); if(i+1)%5=0) printf(n); k=max_min(a,N); printf(the result is:%dn,k); yzj(); getch();yzj() FILE *IN,*OUT; int n; int i30; int o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fop

25、en(out.dat,w); if(OUT=NULL) printf(Write File Error); for(n=0;n5;n+) fscanf(IN,%d,&in); o=max_min(i,5); fprintf(OUT,%dn,o); fclose(IN); fclose(OUT);答案:-int i,max,min; max=min=a0; for(i=1;imax) max=ai; else if(aimin) min=ai; return(max-min);-第13题 (10.0分) 题号:332/*-【程序设计】-功能:找出一个大于给定整数且紧随这个整数的素数,并 作为函数

26、值返回。-*/#include stdio.h#includeconio.h int fun(int n) /*Program*/ /* End */ main() int m; printf(Enter m: ); scanf(%d, &m); printf(nThe result is %dn, fun(m); yzj(); getch(); yzj() FILE *IN,*OUT; int s ; int t; int o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(

27、OUT=NULL) printf(Write File Error); for(s=1;s=5;s+) fscanf(IN,%d,&t); o=fun(t); fprintf(OUT,%dn,o); fclose(IN); fclose(OUT);答案:-int i,k;for(i=n+1;i+)for(k=2;k=A & stri=Z) stri=stri+32;-第15题 (10.0分) 题号:323/*-【程序设计】-功能:判断一个整数w的各位数字平方之和能否被5整除, 可以被5整除则返回1,否则返回0。-*/#include stdio.h#includeconio.h int fun

28、(int w) /*Program*/ /* End */ main() int m; printf(Enter m: ); scanf(%d, &m); printf(nThe result is %dn, fun(m); yzj(); getch();yzj() FILE *IN,*OUT; int c ; int t; int o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write File Error); for(c=1;c=a

29、 & stri=z) stri=stri-32;-第17题 (10.0分) 题号:310/*-【程序设计】-功能:求5行5列矩阵的主、副对角线上元素之和。注意, 两条对角线相交的元素只加一次。例如:主函数中给出的矩阵的两条对角线的和为45。-*/#include stdio.h#define M 5 int fun(int aMM) /*Program*/ /* End */ main() int aMM=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; int y; y=fun(a); printf(s=%dn,y); getch();

30、yzj();yzj() FILE *IN,*OUT; int iINMM,iOUT; int i,j,k; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.It May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. It May Be Changed); * 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);答案:-int s=0; int i,j; for(i=0;iM;i+) s=s+aii+aiM-1-i; s=s-a(M-1)/2(M-1)/2; return s;-第18题 (10.0分) 题号:372/*-【程序设计】

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!