青海大学试题库c语言程序设计_第1页
青海大学试题库c语言程序设计_第2页
青海大学试题库c语言程序设计_第3页
青海大学试题库c语言程序设计_第4页
青海大学试题库c语言程序设计_第5页
已阅读5页,还剩153页未读 继续免费阅读

下载本文档

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

文档简介

1、-. z.试卷编号:9478所属语言:C语言试卷方案:TC_4试卷总分:1260分共有题型:1种一、程序设计共126题共计1260分第1题10.0分题号:507 难度:易第1章/*-【程序设计】-功能:编写函数fun求一个字符串的长度,在main函数中输入字符串,并输出其长度。-*/#include void wwjt(); int fun(char *p1) /*Program*/ /* End */main() char *p,a20; int len; p=a; printf(please input a string:n); gets(p); len=fun(p); printf(Th

2、e strings length is:%dn,len); wwjt();void wwjt() FILE *IN,*OUT; char *pIN,sin20; int iOUT,i; pIN=sin; IN=fopen(3.IN,r); if(IN=NULL) printf(Please Verify The Currernt Dir.it May Be Changed); OUT=fopen(3.out,w); if(OUT=NULL) printf(Please Verify The Current Dir. it May Be Changed); for(i=0;i10;i+) fsc

3、anf(IN,%s,pIN); iOUT=fun(pIN); fprintf(OUT,%dn,iOUT); fclose(IN); fclose(OUT);答案:-char *p;int n=0;p=p1;while(*p+) n+; return n;-第2题10.0分题号:386 难度:中第2章/*-【程序设计】-功能:用函数求N个10,60上的整数中能被5整除的最大的数,如存在则返回这个最大值,如果不存在则返回0。-*/#define N 30#include stdlib.h#include void wwjt(); int find(int arr,int n) int m=0; /

4、*Program*/ /* End */ return(m);main() int aN,i,k; 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=find(a,N); if(k=0) printf(NO FOUNDn); else printf(the ma* is:%dn,k); wwjt();void wwjt() FILE *IN,*OUT; int n; int i5; int o; IN=fopen(in.dat,r); if(IN=NULL) pri

5、ntf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error); for(n=0;n5;n+) fscanf(IN,%d,&in); o=find(i,5); fprintf(OUT,%dn,o); fclose(IN); fclose(OUT);答案:-int i; for(i=0;im) m=arri;-第3题10.0分题号:321 难度:中第2章/*-【程序设计】-功能:编写函数fun其功能是:根据整型形参m,计算如下公式的值:y=1/2!+1/4!+1/m!m是偶数-*/#include

6、 void wwjt();double fun(int m) /*Program*/ /* End */main() int n; printf(Enter n: ); scanf(%d, &n); printf(nThe result is %1fn, fun(n); wwjt(); void wwjt() FILE *IN,*OUT; int t; double o; int c; IN=fopen(in.dat,r); if(IN=NULL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write

7、FILE Error); for(c=1;c=5;c+) fscanf(IN,%d,&t); o=fun(t); fprintf(OUT,%fn,o); fclose(IN); fclose(OUT);答案:double y=0.0;int i,j;double s=1;for (i=2;i=m;i+=2)for(j=i-1;j=i;j+)s=s*j;y=y+1.0/s;return y;第4题10.0分题号:54 难度:易第1章/*-【程序设计】-功能:求1到100之间的偶数之积。-*/#include void wwjt();double fun(int m) /*Program*/ /*

8、 End */main() printf(ji=%fn,fun(100); wwjt();void wwjt() FILE *IN,*OUT; int iIN,i; double dOUT; IN=fopen(23.IN,r); if(IN=NULL) printf(Please Verify The Currernt Dir.it May Be Changed); OUT=fopen(23.out,w); if(OUT=NULL) printf(Please Verify The Current Dir. it May Be Changed); for(i=0;i10;i+) fscanf(

9、IN,%d,&iIN); dOUT=fun(iIN); fprintf(OUT,%fn,dOUT); fclose(IN); fclose(OUT);答案:-double y=1; int i; for(i=1;i=m;i+) if(i%2=0)y*=i; return y;-第5题10.0分题号:62 难度:难第2章/*-【程序设计】-功能:求5行5列矩阵的主、副对角线上元素之和。注意,两条对角线相交的元素只加一次。例如:主函数中给出的矩阵的两条对角线的和为45。-*/#include #define M 5void wwjt();int fun(int aMM) /*Program*/ /

10、* 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); wwjt();void wwjt() FILE *IN,*OUT; int iINMM,iOUT; int i,j; 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(

11、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;-第6题10.0分题号:37 难度:较难第6章/*-【程序设计】-功能:输入2个学生3门课的成绩,计算

12、学生成绩平均分,课程平均分和最高分. 例如:输入2名学生3门课的成绩分别为92,87,68,56, 92,84 则学生1平均分:82.33学生2平均分:77.33课程1平均分:74.00课程2平均分:89.50课程3平均分:76.00最高分为:92-*/#include void wwjt();/*定义全局变量*/*学生成绩平均分*/float StuAgv2;/*课程平均分*/float CouAgv3;/*所有学生的所有课程最高分*/float Ma*=0;/*说明:需要在下面函数中把题干要求中的结果赋值到上面定义一变量中*/void fun(float score23) /*Progra

13、m*/ /* End */void main() int i,j; float score23; 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门课的平均成

14、绩是:%0.2fn,j+1,CouAgvj); printf(所有分数中的最高分为:%.2fn,Ma*); wwjt();void wwjt() FILE *IN,*OUT; float iIN23; int i,j; 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

15、;i2;i+) for(j=0;j3;j+) fscanf(IN,%f,&iINij); fun(iIN); for(i=0;i2;i+) fprintf(OUT,%.2fn,StuAgvi); for(j=0;j3;j+) fprintf(OUT,%.2fn,CouAgvj); fprintf(OUT,%.2fn,Ma*); fclose(IN); fclose(OUT); return ;答案:int i,j;float sum; for(i=0;i2;i+) /*计算第i个学生平均分*/ sum=0; for(j=0;j3;j+) sum=sum+scoreij; StuAgvi=sum

16、/3; for(j=0;j3;j+) /*计算第j门课的平均分*/ sum=0; for(i=0;i2;i+) sum=sum+ score ij; CouAgvj=sum/2; Ma*=score00; for(i=0;i2;i+) for(j=0;j3;j+) if(Ma*=scoreij) Ma*=scoreij; return ;第7题10.0分题号:322 难度:中第2章/*-【程序设计】-功能:判断一个整数w的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。-*/#include #includeconio.hvoid wwjt(); int fun(int w)

17、/*Program*/ /* End */main() int m; printf(Enter m: ); scanf(%d, &m); printf(nThe result is %dn, fun(m); wwjt();void wwjt() 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=5;c+) fscanf

18、(IN,%d,&t); o=fun(t); fprintf(OUT,%dn,o); fclose(IN); fclose(OUT);答案:-int k,s=0; do s=s+(w%10)*(w%10); w=w/10; while(w!=0); if(s%5=0)k=1; else k=0; return(k);-第8题10.0分题号:513 难度:中第95章/*-【程序设计】-题目:编程序,输入两个字符串a,b40个字符,将两者连接后输出c不能用strcat库函数。-*/#include #include void main( ) /*Program*/* End */ 答案: char

19、a40, b40, c80; int i, 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章/*-【程序设计】-请编一个函数void fun(int ttMN, int ppN), tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。注意:局部源程序给出如下。请勿改动主函数main和其他函数中的

20、任何内容,仅在函数fun的花括号中填入所编写的假设干语句。试题程序:-*/#include #include #include #define M 3#define N 4void fun(int ttMN, int ppN) int i, j, ma*; /*Program*/ /* End */void main() FILE *wf; int tMN = 68, 32, 54, 12,14, 24, 88, 58,42, 22, 44, 56; int pN, i, j, k; system(CLS); printf(The riginal data is:n); for(i = 0;

21、i M; i+) for(j = 0; j N; j+) printf(%6d, tij); printf(n); fun(t, p); printf(nThe result is:n); for(k = 0; k N; k+) printf(%4d, pk); printf(n); wf=fopen(out.t*t, w); for(k=0; k N; k+) fprintf(wf, %4d, pk); fclose(wf);答案: for(j = 0; j N; j+) ma* = tt0j; for(i = 0; i ma*) ma* = ttij; ppj = ma*; 第10题10.

22、0分题号:319 难度:中第2章/*-【程序设计】-功能:判断m是否为素数。-*/#include stdio.hvoid wwjt();int fun(int m) /*Program*/ /* End */main() int m,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();void wwjt() FILE *IN,*OUT; int iIN,iOUT,i; IN=fopen(in.dat,r); if(IN=NULL) printf(Pl

23、ease 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;i+) fscanf(IN,%d,&iIN); iOUT=fun(iIN); fprintf(OUT,%dn,iOUT); fclose(IN); fclose(OUT); 答案:- int i,k=1; if(m=1) k=0; for(i=2;im;i+) if(m%i=0) k=0;

24、return k;-第11题10.0分题号:366 难度:易第2章/*-【程序设计】-功能:求一组数中大于平均值的数的个数。例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。-*/#include void wwjt(); int 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); wwjt();void wwjt() FILE *IN,*OUT; int iIN10,iOUT,i,

25、j; 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;j10;j+) for(i=0;i10;i+) fscanf(IN,%d,&iINi); iOUT=fun(iIN,10); fprintf(OUT,%dn,iOUT); fclose(IN); fclose(O

26、UT);答案:-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;-第12题10.0分题号:589 难度:中第1章/*-【程序设计】-题目:请编写程序,输入一个华氏温度,要求输出摄氏温度。公式为 C=5/9*(F-32)要求:输入为整型,输出为实型,保存两位小数。-*/#include void wwjt();double fun(int f) /*Program*/ /* End */void main() int f; scanf(%d,&f

27、); printf(%.2f,fun(f); wwjt();void wwjt() FILE *IN,*OUT; int i; int iIN; double iOUT; 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;i5;i+) fscanf(IN,%d,&iI

28、N); iOUT=fun(iIN); fprintf(OUT,%.2fn,iOUT); fclose(IN); fclose(OUT);答案: double c; c = 5.0 / 9.0 * (f - 32); return c;第13题10.0分题号:586 难度:中第1章/*-【程序设计】-题目:对从键盘输入的10个整数进展降序排序;排序后输出第2大的数,请编fun函数。-*/#include stdio.hvoid wwjt();int fun(int a) /*Program*/ /* End */void main() int a10,i,m; for(i=0;i10;i+) s

29、canf(%d,&ai); m=fun(a); printf(%d ,m); wwjt();void wwjt() FILE *IN,*OUT; int iIN10,i; int iOUT,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(i=0;i5;i+)

30、 for(iCOUNT=0;iCOUNT10;iCOUNT+) fscanf(IN,%d,&iINiCOUNT); iOUT=fun(iIN); fprintf(OUT,%dn,iOUT); fclose(IN); fclose(OUT);答案: int i,j,t; for(i=0;i9;i+) for(j=0;j9-i;j+) if (ajaj+1 ) t=aj; aj=aj+1; aj+1=t; return a1;第14题10.0分题号:338 难度:中第2章/*-【程序设计】-功能:编写程序,实现矩阵3行3列的转置即行列互换例如:输入下面的矩阵: 100 200 300 400 50

31、0 600 700 800 900 程序输出: 100 400 700 200 500 800 300 600 900 -*/#include void wwjt(); int fun(int array33) /*Program*/ /* 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:

32、n); for (i=0; i 3; i+) for (j=0; j 3; j+) printf(%7d,arrayij); printf(n); wwjt(); void wwjt() int i,j, array33; FILE *rf, *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(w

33、f, %7d, arrayij); fprintf(wf, n); fclose(rf) ; fclose(wf) ; 答案:-int i,j,t; for(i=0; i 3; i+) for(j=0; j i; j+) t=arrayij; arrayij=arrayji; arrayji=t; -第15题10.0分题号:53 难度:中第1章/*-【程序设计】-功能:求一个四位数的各位数字的立方和-*/#include void wwjt();int fun(int n) /*Program*/ /* End */main() int k; k=fun(1234); printf(k=%dn

34、,k); wwjt();void wwjt() FILE *IN,*OUT; int iIN,iOUT,i; IN=fopen(22.IN,r); if(IN=NULL) printf(Please Verify The Currernt Dir.it May Be Changed); OUT=fopen(22.out,w); if(OUT=NULL) printf(Please Verify The Current Dir. it May Be Changed); for(i=0;i0) d=n%10; s+=d*d*d; n/=10; return s;-第16题10.0分题号:318 难

35、度:中第2章/*-【程序设计】-功能:输入一个字符串,过滤此串,只保存串中的字母字符,并统计新生成串中包含的字母个数。例如:输入的字符串为ab234$df4,新生成的串为abdf 。-*/#include #include #define N 80void wwjt();fun(char *ptr) /*Program*/ /* End */main() char strN; int s; printf(input a string:);gets(str); printf(The origINal string is :); puts(str); s=fun(str); printf(The

36、new string is :);puts(str); printf(There are %d char IN the new string.,s); wwjt();void wwjt() FILE *IN,*OUT; char sinN; int iOUT; 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

37、 Be Changed); fscanf(IN,%s,sin); iOUT=fun(sin); fprintf(OUT,%d %sn,iOUT,sin); fclose(IN); fclose(OUT);答案:- int i,j;for(i=0,j=0;*(ptr+i)!=0;i+)if(*(ptr+i)=a|*(ptr+i)=A)*(ptr+j)=*(ptr+i);j+;*(ptr+j)=0;return(j);-第17题10.0分题号:587 难度:中第1章/*-【程序设计】-题目:假设m是一个三位数,编写程序输出由m的个位、十位、百位反序而成的三位数例如:123反序为321。请编fun函

38、数。-*/#includestdio.hvoid wwjt();int fun(int a) /*Program*/ /* End */void main() int a,k; scanf(%d,&a); k=fun(a); printf(k=%d,k); wwjt();void wwjt() FILE *IN,*OUT; int iIN,i; int dOUT; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.it May Be Changed); OUT=fopen(out.dat,w); if(O

39、UT=NULL) printf(Please Verify The Current Dir. it May Be Changed); for(i=0;i5;i+) fscanf(IN,%d,&iIN); dOUT=fun(iIN); fprintf(OUT,%dn,dOUT); fclose(IN); fclose(OUT);答案: int m,k,n,b; m=a/100; n=(a-m*100)/10; b=a%10; k=b*100+n*10+m; return k;第18题10.0分题号:365 难度:易第2章/*-【程序设计】-功能:求1到100之间的偶数之积。-*/#include

40、 void wwjt(); double fun(int m) /*Program*/ /* End */main() printf(ji=%fn,fun(100); wwjt();void wwjt() FILE *IN,*OUT; int iIN,i; double dOUT; 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

41、Dir. it May Be Changed); for(i=0;i5;i+) fscanf(IN,%d,&iIN); dOUT=fun(iIN); fprintf(OUT,%fn,dOUT); fclose(IN); fclose(OUT);答案:-double y=1; int i; for(i=1;i=m;i+) if(i%2=0)y*=i; return y;-第19题10.0分题号:593 难度:中第1章/*-【程序设计】-编写函数fun(),它的功能是求n以内(不包括n)同时能被5与11整除的所有自然数之和的平方根s,并作为函数值返回。例如:n为1000时,函数值应为s=96.97

42、9379。注意:局部源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的假设干语句。试题程序:-*/#include #include #include #include double fun(int n) double s = 0.0; int i; /*Program*/ /* End */void main() FILE *wf; system(CLS); printf(s=%fn, fun(1000); wf=fopen(out.t*t, w); fprintf(wf, %f, fun(1000); fclose(wf);答案: for(i

43、 = 0; i n; i+) if(i % 5 = 0 & i % 11 = 0) s = s + i; s = sqrt(s); return s;第20题10.0分题号:391 难度:易第2章/*-【程序设计】-功能:将字符串中的小写字母转换为对应的大写字母,其它字符不变。-*/#include string.h#include void wwjt(); void change(char str) /*Program*/ /* End */main() void change(); char str40; gets(str); change(str); puts(str); wwjt();

44、void wwjt() FILE *IN,*OUT; char i200; IN=fopen(in.dat,r); if(IN=NULL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error); fscanf(IN,%s,i); change(i); fprintf(OUT,%sn,i); fclose(IN); fclose(OUT);答案:-int i; for(i=0;stri!=0;i+) if(stri=a & stri=z) stri=stri-32;-第21题10.

45、0分题号:384 难度:易第2章/*-【程序设计】-功能:产生20个30,120上的随机整数放入二维数组a54中,求每行元素的和。-*/#include stdlib.h#include void wwjt(); void row_sum(int a54,int b5)/*Program*/ /* End */main() void row_sum(); int a54,b5,i,j; for(i=0;i5;i+) for(j=0;j4;j+) aij=random(120-30+1)+30; for(i=0;i5;i+) for(j=0;j4;j+) printf(%5d,aij); pri

46、ntf(n); row_sum(a,b); for(i=0;i5;i+) printf(%6d,bi); printf(n); wwjt();void wwjt() FILE *IN,*OUT; int m,n; int i54; int o5; 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;m5;m+) for(n=0;n4;n+) fscanf(IN,%d,&imn); row_sum(

47、i,o); for(n=0;n5;n+) fprintf(OUT,%dn,on); fclose(IN); fclose(OUT);答案:- int i,j; for(i=0;i5;i+) bi=0; for(j=0;j4;j+) bi=bi+aij; -第22题10.0分题号:329 难度:中第2章/*-【程序设计】-功能:对*一正数的值保存2位小数,并对第三位进展四舍五入。-*/#include #includeconio.hvoid wwjt(); double fun(float h) /*Program*/ /* End */main() float m; printf(Enter

48、m: ); scanf(%f, &m); printf(nThe result is %8.2fn, fun(m); wwjt(); void wwjt() FILE *IN,*OUT; int s ; float t; double 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=5)return(int)(h*100+1)/100.0;elsereturn(int)(h*100)

49、/100.0;-第23题10.0分题号:591 难度:中第1章/*-【程序设计】-题目:从键盘上输入一个字符串,放在数组中,要求将字符串中的大写字母转换成小写字母,小写字母转换成大写字母,非字母字符不变,并输出-*/#include #include #include #define N 80void wwjt();char fun(char a) /*Program*/ /* End */void main() char a80; char s; gets(a); s=fun(a); puts(a); wwjt();void wwjt() FILE *IN,*OUT; char sinN;

50、char iOUT; 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); fscanf(IN,%s,sin); iOUT=fun(sin); fprintf(OUT,%sn,sin); fclose(IN); fclose(OUT);答案: int i; for(i = 0; i =

51、A & ai = a & ai = z) ai = ai - 32; return ai;第24题10.0分题号:353 难度:中第2章/*-【程序设计】-功能:对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按降序排列。例如:原来的字符串为CEAedca,排序后输出为CedcEAa。-*/#include#include#includevoid wwjt(); void fun(char *s,int num) /*Program*/ /* End */main() char s10; printf(输入7个字符的字符串:); gets(s); fun(s,7); printf(n%

52、s,s); wwjt();void wwjt() 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,7); fprintf(wf, %s, a); fprintf(wf, n); fclose(rf); fclose(wf);答案:- int i,j; char t; for(i=1;inum-1;i+) for(j=i+1;jnum-1;j+) if(sisj) t=si;si=sj;sj=t;-

53、第25题10.0分题号:328 难度:中第2章/*-【程序设计】-功能:求k!k13,所求阶乘的值作为函数值返回。要求使用递归-*/#include #includeconio.hvoid wwjt(); long fun(int k) /*Program*/ /* End */main() int m; printf(Enter m: ); scanf(%d, &m); printf(nThe result is %ldn, fun(m); wwjt(); void wwjt() FILE *IN,*OUT; int s ; int t; long o; IN=fopen(in.dat,r)

54、; if(IN=NULL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error); for(s=1;s0)return(k*fun(k-1);else if(k=0)return 1L;-第26题10.0分题号:596 难度:中第1章/*-【程序设计】-编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数个位和十位上,b数的十位和个位数依次放在c数的百位和千位上。例如,当a=16,b=35,调用该函数后,c=

55、5361。注意:局部源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的假设干语句。试题程序:-*/#include #include void fun(int a , int b, long *c) /*Program*/ /* End */void main() FILE *wf; int a, b; long c; system(CLS); printf(Input a, b;); scanf(%d%d, &a, &b); fun(a, b, &c); printf(The result is:%ldn, c); wf=fopen(out.t

56、*t, w); fun(16, 35, &c); fprintf(wf, %ld, c); fclose(wf);答案: *c = (b % 10 * 1000 + (b / 10) * 100 + ( a % 10) * 10 + a / 10);第27题10.0分题号:342 难度:中第2章/*-【程序设计】-功能:在键盘上输入一个3行3列矩阵的各个元素的值值为整数,然后输出矩阵第一行与第三行元素之和,并在fun()函数中输出。-*/#include void wwjt(); void fun(int a33) /*Program*/ /* End */main() int i,j,s,a

57、33; for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); s=fun(a); printf(Sum=%dn,s); wwjt();void wwjt() 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

58、,%d,&imn); 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;-第28题10.0分题号:374 难度:易第2章/*-【程序设计】-功能:编写函数实现两个数据的交换,在主函数中输入任意三个数据,调用函数对这三个数据从大到小排序。-*/#includevoid wwjt(); void swap(int *a,int *b) /*Program*/ /*

59、 End */main() int *,y,z; scanf(%d%d%d,&*,&y,&z); if(*y)swap(&*,&y); if(*z)swap(&*,&z); if(yz)swap(&y,&z); printf(%3d%3d%3d,*,y,z); wwjt();void wwjt() FILE *IN,*OUT; int m,n; int i2; IN=fopen(in.dat,r); if(IN=NULL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error);

60、for(n=0;n3;n+) for(m=0;m2;m+) fscanf(IN,%d,&im); swap(&i0,&i1); fprintf(OUT,%dn,i0); fprintf(OUT,%dn,i1); fclose(IN); fclose(OUT);答案:-int k; k=*a; *a=*b; *b=k;-第29题10.0分题号:323 难度:易第2章/*-【程序设计】-功能:求1到w之间的奇数之和。w是大于等于100小于等于1000的整数-*/#include #includeconio.hvoid wwjt(); long fun(int w) /*Program*/ /* E

温馨提示

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

评论

0/150

提交评论