




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2010年C语言编程题年萝卜家园Microsoft选取日期2功能:求一分数序列2/1,3/2,5/3,8/5,13/8,21/13的前n项之和。说明:每一分数的分母是前两项的分母之和,每一分数的分子是前两项的分子之和例如:求前20项之和的值为32.660259。-#include stdio.hfloat fun(int n) /*Program*/Int I; Float f1=1,f2=1,f3,s=0; For(i=1;i=n;i+) f3=f1+f2; F1=f2; F2=f3; S=s+f2/f1; ) Return s; /* End */main() float y; y=fun
2、(20); printf(y=%fn,y); yzj();yzj() FILE *IN,*OUT; int iIN,i; float fOUT; 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;i10) z=log(x+3) (x-3) z=sin(x)/(cos(
3、x)+4)-#include #includedouble y(float x) /*Program*/Double z; If(x10) z=exp(x); Else if(x-3) z=logz(x+3); Else z=sin(x)/(cos(x)+4);Return(z); /* End */main() float x; scanf(%f,&x); printf(y=%fn,y(x); yzj(); yzj() FILE *IN,*OUT; int n; float i; double o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read Fi
4、le Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write File Error); for(n=0;n10;n+) fscanf(IN,%f,&i); o=y(i); fprintf(OUT,%ldn,o); fclose(IN); fclose(OUT);4功能:对长度为8个字符的字符串,将8个字符按降序排列。例如:原来的字符串为CEAedcab,排序后输出为edcbaECA。-#include#include#includeint fun(char *s,int num) /*Program*/int i,j;char t;for
5、(i=0;inum;i+)for(j=i+1;jnum;j+)if(sisj)t=si;si=sj;sj=t; /* End */main() char s10; printf(输入8个字符的字符串:); gets(s); fun(s,8); printf(n%s,s); NONO();NONO() int i; char a100; FILE *rf, *wf ; rf = fopen(in.dat, r) ; wf = fopen(out.dat, w) ; for(i=0;i3;i+) fscanf(rf, %s, &a); fun(a,8); fprintf(wf, %s, a); f
6、printf(wf, n); fclose(rf); fclose(wf);5功能:用do-while语句求1100的累计和。-#includelong int fun(int n) /*Program*/int i=1,sum=0;dosum=sum+i;i+;While(i=n);return sum; /* End */void main () int i=100; printf(1100的累加和为:%ldn,fun(i); wwjt();wwjt() FILE *IN,*OUT; int i; int iIN; long int iOUT; IN=fopen(in.dat,r); if
7、(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;i5;i+) fscanf(IN,%d,&iIN); iOUT=fun(iIN); fprintf(OUT,%ldn,iOUT); fclose(IN); fclose(OUT);6功能:实现两个整数的交换。例如:给a和b分别输入:60和65,输入为:a=65
8、b=60-#include#includevoid fun(int *a,int *b) /*Program*/int t;t=*a;*a=*b;*b=t; /* End */ main() int a,b; printf(Enter a,b:); scanf(%d%d,&a,&b); fun(&a,&b); printf(a=%d b=%dn,a,b); yzj();yzj() FILE *IN,*OUT; int a,b,n; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(
9、OUT=NULL) printf(Write File Error); for(n=0;n=a&si=A&si=Z)k+;return k; /* End */main() char str=Best wishes for you!; int k; k=fun(str); printf(k=%dn,k); yzj();yzj() FILE *IN,*OUT; char sIN80; int iOUT,i; IN=fopen(21.in,r); if(IN=NULL) printf(Please Verify The Currernt Dir.It May Be Changed); OUT=fo
10、pen(21.out,w); if(OUT=NULL) printf(Please Verify The Current Dir. It May Be Changed); for(i=0;i100) printf(data error!n); exit(0); y=fun(x); if(y) printf(%d YESn,x); else printf(%d NOn,x); yzj();yzj() FILE *IN,*OUT; int n,t; int i5; int o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT
11、=fopen(out.dat,w); if(OUT=NULL) printf(Write File Error); for(t = 0 ; t 5 ; t+) fscanf(IN, %d, &n) ; o=fun(n); fprintf(OUT, %dn,o ) ; fclose(IN); fclose(OUT);9功能:用辗转相除法求两个整数的最大公约数。-#includeint gcd(int n,int m) /*Program*/int r,t;iIf(nm)t=n;n=m;m=t;r=n%m;while(r!=0)n=m;m=r;r=n%m;retrun (m); /* End */
12、main() int n,m,result; scanf(%d%d,&n,&m); result=gcd(n,m); printf(the gcd is %dn,result); yzj();yzj() FILE *IN,*OUT; int m,n; int i2; 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;n6;n+) for(m=0;m2;m+) fscanf(IN,%
13、d,&im); o=gcd(i0,i1); fprintf(OUT,%dn,o); fclose(IN); fclose(OUT);10功能:计算n门课程的平均值,计算结果作为函数值返回。例如:若有5门课程的成绩是:92,76,69,58,88,则函数的值为76.599998。-#include stdio.hfloat fun(int a,int n) /*Program*/int i;float y=0;for(i=0;in;i+)y+=ai;y=y/n;return y; /* End */main() int a=92,76,69,58,88; printf(y=%fn,fun(a,5
14、); yzj();yzj() FILE *IN,*OUT; int iIN10,i,j; float fOUT; 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(j=0;j5;j+) for(i=0;i5;i+) fscanf(IN,%d,&iINi); fOUT=fun(
15、iIN,5); fprintf(OUT,%fn,fOUT); fclose(IN); fclose(OUT);11功能:对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按降序排列。例如:原来的字符串为CEAedca,排序后输出为CedcEAa。-#include#include#includeint fun(char *s,int num) /*Program*/ Int I,j;Char t;For(i=1;inum-1;i+) For(j=j+1;jnum-1;j+) /* End */main() char s10; printf(输入7个字符的字符串:); gets(s); f
16、un(s,7); printf(n%s,s); NONO();NONO() int i; char a100; FILE *rf, *wf ; rf = fopen(in.dat, r) ; wf = fopen(out.dat, w) ; for(i=0;i0)S=s/100;t=s%10*s1+t;s1=s1*10; /* End */return t; main() long s, t,m; printf(nPlease enter s:); scanf(%ld, &s); m=fun(s,t); printf(The result is: %ldn, m); yzj();yzj() F
17、ILE *IN,*OUT; int n; long i,t,m; 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;n5;n+) fscanf(IN,%ld,&i); m=fun(i,t); fprintf(OUT,%ldn,m); fclose(IN); fclose(OUT);13功能:编写函数fun计算下列分段函数的值: x2+x+6 x0且x-3 f(x)= x2-5x+6 0x10且x
18、2及x3 x2-x-1 其它-#include stdio.hfloat fun(float x) /*Program*/float y;if(x=0&x10.0&x!=2.0&x!=3.0)y=x*x-5*x+6;else y=x*x-x-1;return y; /* End */main() float x,f; printf(Input x=); scanf(%f,&x); f=fun(x); printf(x=%f,f(x)=%fn,x,f); yzj();yzj() FILE *IN,*OUT; int n; float i; float o; IN=fopen(in.dat,r);
19、 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,%f,&i); o=fun(i); fprintf(OUT,%fn,o); fclose(IN); fclose(OUT);14功能:编写函数用冒泡排序法对数组中的数据进行从小到大的排序。-#include #includevoid sort(int a,int n) /*Program*/int i,j,t;for(i=0;in-1;i+)for
20、(j=0;jaj+1)t=aj;aj=aj+1;aj+1=t; /* End */main() int a16,i; for(i=0;i16;i+) ai=rand()%(30)+15; for(i=0;i16;i+) printf(%3d,ai); printf(n-n); sort(a,16); for(i=0;i16;i+) printf(%3d,ai); yzj();yzj() FILE *IN,*OUT; int n; int i10; int o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(
21、out.dat,w); if(OUT=NULL) printf(Write File Error); for(n=0;n10;n+) fscanf(IN,%d,&in); sort(i,10); for(n=0;n10;n+) fprintf(OUT,%dn,in); fclose(IN); fclose(OUT);15题目:用函数求一个N阶方阵右下三角元素的和(包括副对角线上的元素)。 -#include #include stdio.h#define N 3int sum(int aN) /*Program*/int I,j,k=0;for(i=0;iN;i+)for(j=N-1;jN;j
22、+)k=k+aij;return (k); /* End */main() int aNN,i,j; for(i=0;iN;i+) for(j=0;jN;j+) aij=rand()%(10)+10; printf(%3d,aij); printf(n); printf(=n); printf(sum=%5dn,sum(a); yzj();yzj() FILE *IN,*OUT; int m,n; int i33; int o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(O
23、UT=NULL) printf(Write File Error); for(m=0;m3;m+) for(n=0;n3;n+) fscanf(IN,%d,&imn); o=sum(i); fprintf(OUT,%dn,o); fclose(IN); fclose(OUT);16功能:根据整型形参m,计算如下公式的值:y=sin(m)*10。例如:若m=9,则应输出:4.121185-#include stdio.h#includemath.hdouble fun(int m) /*Program*/double y=0;y=sin(m)*10;return (y); /* End */ma
24、in() int n; printf(Enter n: ); scanf(%d, &n); printf(nThe result is %1fn, fun(n); yzj(); yzj() FILE *IN,*OUT; int s,i ; int t; float 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(i=0;istrlen(str) printf(删除位置i和待删字符个数n的值错!请
25、重新输入i和n的值n); scanf(%d%d,&i,&n); fun(str,i,n); printf(删除后的字符串str是:%sn,str); yzj();fun(char str,int i,int n) /*Program*/While(stri+n-1)Stri-1=stri+n-1;i+;Stri-1=0; /* End */yzj() FILE *IN,*OUT; int n; char i200; char o200; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w);
26、if(OUT=NULL) printf(Write File Error); fscanf(IN,%s,i); fun(i,2,8); fprintf(OUT,%sn,i); fclose(IN); fclose(OUT);18功能:统计出若干个学生的平均成绩,最高分以及得最高分的人数。例如:输入10名学生的成绩分别为92,87,68,56,92,84,67,75,92,66,则输出平均成绩为77.9,最高分为92,得最高分的人数为3人。-#include stdio.hfloat Max=0;int J=0;float fun(float array,int n) /*Program*/in
27、ti;float sum=0,ave;max=array0;for(i=0;in;i+)if(Maxarrayi)max=arrayi;ave=sum+arrayi;for(i=0;in;i+)if(arrayi=Max)J+;return(ave) /* End */ main( ) float a10,ave; int i=0; for(i=0;i10;i+) scanf(%f,&ai); ave=fun(a,10); printf(ave=%fn,ave); printf(max=%fn,Max); printf(Total:%dn,J); yzj();yzj() FILE *IN,*O
28、UT; 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 May Be Changed); for(iCOUNT=0;iCOUNT10;iCOUNT+) fscanf(IN,%f,&iINiCOUNT); iOUT=fun(iIN,10); fprintf(
29、OUT,%f %fn,iOUT,Max); fclose(IN); fclose(OUT);19功能:编写程序,实现矩阵(3行3列)的转置(即行列互换) 例如:输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 100 400 700 200 500 800 300 600 900 -#include stdio.hint fun(int array33) /*Program*/ Int i,j,t;For(i=0;i3;i+)For(j=0;jI;j+)t=arrayij=arrayji; arrayij=arrayji;arrayji=t;
30、 /* End */ main() int i,j; int array33=100,200,300, 400,500,600, 700,800,900; for (i=0; i 3; i+) for (j=0; j 3; j+) printf(%7d,arrayij); printf(n); fun(array); printf(Converted array:n); for (i=0; i 3; i+) for (j=0; j 3; j+) printf(%7d,arrayij); printf(n); NONO(); NONO() int i,j, array33; FILE *rf,
31、*wf ; rf = fopen(in.dat, r) ; wf = fopen(out.dat, w) ; for (i=0; i 3; i+) for (j=0; j 3; j+) fscanf(rf, %d, &arrayij); fun(array); for (i=0; i 3; i+) for (j=0; j 3; j+) fprintf(wf, %7d, arrayij); fprintf(wf, n); fclose(rf) ; fclose(wf) ; 20功能:用函数实现字符串的复制, 不允许用strcpy()函数。-#include stdio.hvoid copy(ch
32、ar str1,char str2) /*Program*/int i;for(i=0;str1i!=0;i+)str2i=str1i;str2i=0; /* End */main() void copy(); char c140,c240; gets(c1); copy(c1,c2); puts(c2); yzj();yzj() FILE *IN,*OUT; int n; char i100; char o100; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(OUT=NUL
33、L) printf(Write File Error); fscanf(IN,%s,i); copy(i,o); fprintf(OUT,%sn,o); fclose(IN); fclose(OUT);21功能:从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出。请编写fun函数。-#include stdio.hint fun(int x,int n) /*Program*/Int min,I;Min=x0;For(i=1;in;i+)If(ximin)min=xi;Return min; /* End */main() int a10,i,min;
34、for(i=0;i10;i+) scanf(%d,&ai); for(i=0;i10;i+) printf(%3d,ai); printf(n); min=fun(a,10); printf(%dn,min); yzj();yzj() FILE *IN,*OUT; int iIN10,i; int iOUT,iCOUNT; IN=fopen(4.in,r); if(IN=NULL) printf(Please Verify The Currernt Dir.It May Be Changed); OUT=fopen(4.out,w); if(OUT=NULL) printf(Please Verify The Current Dir. It May Be Changed); for(i=0;i10;i+) for(iCOU
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黑龙江大学《矿山地质》2023-2024学年第二学期期末试卷
- 广东职业技术学院《大数据技术》2023-2024学年第二学期期末试卷
- 湖北体育职业学院《港澳台广告》2023-2024学年第二学期期末试卷
- 湖南财经工业职业技术学院《物理化学研究进展与前瞻》2023-2024学年第二学期期末试卷
- 苏州健雄职业技术学院《动物生物化学》2023-2024学年第二学期期末试卷
- 烟台汽车工程职业学院《资源材料与可持续发展》2023-2024学年第二学期期末试卷
- 汉口学院《对流层传播》2023-2024学年第二学期期末试卷
- 吕梁师范高等专科学校《软件工程》2023-2024学年第二学期期末试卷
- 武汉理工大学《互联网运维技术》2023-2024学年第二学期期末试卷
- 心理健康课件模板
- 计算机网络的毕业设计(5篇)
- 2022年中国建筑集团有限公司招聘笔试题库及答案解析
- 温泉度假设施造价预算
- 青少年创意编程试题
- 电子商务客户服务5套综合测试题带答案
- 微观经济学课件第二章(高鸿业)
- RULES OF ORIGIN 原产地规则
- 国内旅游出团通知书(新版)
- LETTEROFINTENTION意向书范本
- 国内各航空公司差异化服务
- 《山东省自然科学基金资助项目年度进展报告》
评论
0/150
提交评论