《2022年程序设计》由会员分享,可在线阅读,更多相关《2022年程序设计(36页珍藏版)》请在金锄头文库上搜索。
1、试卷编号: 18337 所属语言: Turbo C 试卷方案: phq1 试卷总分: 220 分共有题型: 1 种一、程序设计共 22 题 (共计 220 分)第 1 题 (10.0 分)题号 :313 /*- 【程序设计】- 功能:调用函数fun 判断一个三位数是否 水仙花数 。在 main 函数中从键盘输入一个三位数,并输出判断结果。请编写fun 函数。说明:所谓 水仙花数 是指一 3 位数,其各位数字立方和等于该数本身。例如: 153 是一个水仙花数,因为153=1+125+27。-*/ #include stdio.h int fun(int n) /*Program*/ /* End
2、 */ main() int n,flag。 scanf(%d,&n)。 flag=fun(n)。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 36 页 if(flag) printf(%d 是水仙花数 n,n)。 else printf(%d 不是水仙花数n,n)。 getch()。 yzj()。 yzj() FILE *IN,*OUT。 int iIN,i。 int iOUT。 IN=fopen(in.dat,r)。 if(IN=NULL) printf(Please Verify The Currernt Dir.It May
3、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 bw,sw,gw。bw=n/100 。sw=(n-bw*100)/10。gw=n%10 。 if(n=bw*bw*bw+sw*sw*sw+gw*gw*gw) retur
4、n 1。 else return 0。- 第 2 题 (10.0 分)题号 :395 /*- 【程序设计】- 功能:产生20 个30,120上的随机整数放入二维数组精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 36 页 a54中, 求其中的最小值。-*/ #include stdlib.h #include stdio.h int amin(int a54) /*Program*/ /* End */ main() int a54,i,j。 clrscr()。 for(i=0。i5 。i+) for(j=0。j4 。j+) aij=r
5、andom(120-30+1)+30。 for(i=0。i5 。i+) for(j=0。j4 。j+) printf(%5d,aij)。 printf(n)。 printf(min=%dn,amin(a)。 yzj()。 getch()。 yzj() FILE *IN,*OUT。 int m,n。 int i54。 int o。 IN=fopen(in.dat,r)。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 36 页 if(IN=NULL) printf(Read File Error)。 OUT=fopen(out.dat,w)
6、。 if(OUT=NULL) printf(Write File Error)。 for(m=0。m5。m+) for(n=0。n4。n+) fscanf(IN,%d,&imn)。 o=amin(i)。 fprintf(OUT,%dn,o)。 fclose(IN)。 fclose(OUT)。答案: - int i,j,s。 s=a00。 for(i=0。i5 。i+) for(j=0。jaij)s=aij。 return(s)。- 第 3 题 (10.0 分)题号 :22 /*- 【程序设计】- 功能:从键盘为一维整型数组输入10 个整数,调用fun 函数找出其中最小的数,并在main 函数中
7、输出。请编写 fun 函数。-*/ #include stdio.h int fun(int x,int n) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 36 页 /*Program*/ /* End */ main() int a10,i,min。 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
8、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(iCOUNT=0。iCOUNT10 。iCOUNT+) fscanf(IN,%d,&iINiCOUNT)。精选学习资料 - - - - - - -
9、 - - 名师归纳总结 - - - - - - -第 5 页,共 36 页 iOUT=fun(iIN,10)。 fprintf(OUT,%dn,iOUT)。 fclose(IN)。 fclose(OUT)。答案: - int min,i。min=x0。for(i=1。in 。i+) if(ximin) min=xi。 return min。- 第 4 题 (10.0 分)题号 :23 /*- 【程序设计】- 功能:从键盘输入一个大于3 的整数,调用函数fun 判断其是否素数,然后在main 函数中输出相应的结论信息。例如: 7 是素数, 8 不是素数。请编写fun 函数。素数是仅能被 1 和自
10、身整除的数-*/ #include stdio.h main() int m,flag。 printf(input an integer:)。 scanf(%d,&m)。 flag=fun(m)。 if(flag) printf(%d is a prime.n,m)。 else printf(%d is not a prime.n,m)。 yzj()。 int fun(int n) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 36 页 /*Program*/ /* End */ yzj() FILE *IN,*OUT。 int iI
11、N,iOUT,i。 IN=fopen(5.in,r)。 if(IN=NULL) printf(Please Verify The Currernt Dir.It May Be Changed)。 OUT=fopen(5.out,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
12、。int j。j= 1 。for(i=2。in 。i+) if(n%i=0) j= 0。 return j。- 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 36 页第 5 题 (10.0 分)题号 :33 /*- 【程序设计】- 功能:用do-while语句求 1100 的累计和。-*/ #include long int fun(int n) /*Program*/ /* End */ void main () int i=100。 printf(1100的累加和为:%ldn,fun(i)。 wwjt()。 wwjt() FILE
13、 *IN,*OUT。 int i。 int iIN。 long 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 Be Changed)。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 36 页 for(i=0。i5 。i+) fs
14、canf(IN,%d,&iIN)。 iOUT=fun(iIN)。 fprintf(OUT,%ldn,iOUT)。 fclose(IN)。 fclose(OUT)。 答案: int i =1, sum =0。 do sum = sum + i。 i+。 while ( i = n )。 return sum。第 6 题 (10.0 分)题号 :56 /*- 【程序设计】- 功能:求1 到 100 之间的偶数之积。-*/ #include stdio.h double fun(int m) /*Program*/ 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - -
15、- -第 9 页,共 36 页 /* End */ main() printf(ji=%fn,fun(100)。 yzj()。 yzj() 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。i1
16、0 。 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。- 第 7 题 (10.0 分)题号 :358 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 36 页/*- 【程序设计】- 功能:根据整型形参m,计算如下公式的值: y=1/5+1/6 1/7 1/8 1/9+1/10.1/(
17、m+5) 例如:若m=9,则应输出:1.168229 -*/ #include stdio.h double fun(int m) /*Program*/ /* End */ main() int n。 clrscr()。 printf(Enter n: )。 scanf(%d, &n)。 printf(nThe result is %1fn, fun(n)。 getch()。 yzj()。 yzj() FILE *IN,*OUT。 int s,i 。 int t。 float o。 IN=fopen(in.dat,r)。 if(IN=NULL) printf(Read File Error)
18、。 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 36 页 OUT=fopen(out.dat,w)。 if(OUT=NULL) printf(Write File Error)。 for(i=0。i5 。i+) fscanf(IN,%d,&t)。 o=fun(t)。 fprintf(OUT,%fn,o)。 fclose(IN)。 fclose(OUT)。答案: - double y=0。 int i。 for(i=0。 i10) z=log(x+3) (x-3) z=sin(x)/(cos(x)+4) -*/ #include #
19、include double y(float x) /*Program*/ 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 36 页 /* End */ main() float x。 scanf(%f,&x)。 printf(y=%fn,y(x)。 yzj()。 getch()。 yzj() FILE *IN,*OUT。 int n。 float i。 double o。 IN=fopen(in.dat,r)。 if(IN=NULL) printf(Read File Error)。 OUT=fopen(out.dat,w)。 if
20、(OUT=NULL) printf(Write File Error)。 for(n=0。n10) z=exp(x)。 else if(x-3) z=log(x+3)。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 36 页 else z=sin(x)/(cos(x)+4)。 return(z)。- 第 9 题 (10.0 分)题号 :390 /*- 【程序设计】- 功能:编写函数求表达式的和(n 的值由主函数输入)。 1-1/2+1/3-1/4+.+1/m 例如:当n=20 时, 表达式的值为0.668771 。-*/ #inclu
21、de stdio.h float sum(int n) /*Program*/ /* End */ main() int n。 scanf(%d,&n)。 printf(sum=%fn,sum(n)。 yzj()。 getch()。 yzj() FILE *IN,*OUT。 int m,n。 int i10。 float o。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 36 页 IN=fopen(in.dat,r)。 if(IN=NULL) printf(Read File Error)。 OUT=fopen(out.dat,w)
22、。 if(OUT=NULL) printf(Write File Error)。 for(n=0。n5。n+) fscanf(IN,%d,&in)。 for(n=0。n5。n+) o = sum(in)。 fprintf(OUT,%fn,o)。 fclose(IN)。 fclose(OUT)。答案: - float s=0。 int i,k=1。 for(i=1。i=n 。i+) s=s+k*1.0/i。 k=-k。 return(s)。- 第 10 题 (10.0 分)题号 :328 /*- 【程序设计】- 功能:能计算从1 开始到 n 的自然数的和,n 由键盘输入,并在 main() 函数
23、中输出。-*/ #include stdio.h int fun(int n) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 36 页 /*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 t。 int o。 int c。 IN=fopen(in.dat,r)。 if(IN=NULL) printf
24、(Read File Error)。 OUT=fopen(out.dat,w)。 if(OUT=NULL) printf(Write File Error)。 for(c=1。c=5。 c+) fscanf(IN,%d,&t)。 o=fun(t)。 fprintf(OUT,%dn,o)。 fclose(IN)。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 36 页 fclose(OUT)。答案: - int sum,i。sum =0。for(i=1。i=n 。i+) sum=sum+i 。 return(sum)。- 第 11 题
25、(10.0 分)题号 :361 /*- 【程序设计】- 功能:把20 个随机数存入一个数组,然后输出该数组中的最大值。-*/ #include stdio.h #define VSIZE 20 int vectorVSIZE 。int fun(int list,int size) /*Program*/ /* End */ main() int i。 clrscr() 。 for (i=0。iVSIZE 。i+) vectori=rand()。 printf(Vector%d=%6dn,i,vectori)。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - -
26、 -第 17 页,共 36 页 i=fun(vector,VSIZE)。 printf(nMaxnum: Vector%d=%6dn,i,vectori)。 NONO() 。 getch()。 NONO() int i,t。 FILE *fp 。 fp = fopen(out.dat, w) 。 for (i=0。iVSIZE 。i+) fprintf(fp,Vector%d=%6dn,i,vectori)。 t=fun(vector,VSIZE)。 fprintf(fp,nMaxnum: Vector%d=%6dn,t,vectort)。 fclose(fp) 。 答案: - int i,m
27、ax=0。for(i=1。 i size。 i+) if(listmaxlisti) max=i。return max。- 第 12 题 (10.0 分)题号 :353 /*- 【程序设计】- 功能:根据整型形参m,计算如下公式的值:y=1/2 1/4 1/6.1/2m 。例如:若m=9,则应输出:1.414484 -*/ #include stdio.h 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 36 页double fun(int m) /*Program*/ /* End */ main() int n。 clrscr()
28、。 printf(Enter n: )。 scanf(%d, &n)。 printf(nThe result is %1fn, fun(n)。 yzj()。 getch()。 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。i5 。i+) fscanf(IN,%d,&t)。 o=fun(t)。 fpr
29、intf(OUT,%fn,o)。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 19 页,共 36 页 fclose(IN)。 fclose(OUT)。 答案: - double y=0。 int i。 for(i=1。 i=m 。 i+) y+=1.0/(2*i)。 return(y)。- 第 13 题 (10.0 分)题号 :406 /*- 【程序设计】- 功能:编写函数fun 计算下列分段函数的值: x2+x+6 x0且 x-3 f(x)= x2-5x+6 0x10且 x2 及 x3 x2-x-1 其它-*/ #include stdio.h
30、 float fun(float x) /*Program*/ /* End */ main() 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 20 页,共 36 页 float x,f。 printf(Input x=)。 scanf(%f,&x)。 f=fun(x)。 printf(x=%f,f(x)=%fn,x,f)。 getch()。 yzj()。 yzj() FILE *IN,*OUT。 int n。 float i。 float o。 IN=fopen(in.dat,r)。 if(IN=NULL) printf(Read File E
31、rror)。 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)。答案: - 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。- 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 21 页,共
32、36 页第 14 题 (10.0 分)题号 :411 /*- 【程序设计】- 功能:编写函数fun 将一个数组中的值按逆序存放,并在 main()函数中输出。例如:原来存顺序为8,6,5,4,1。要求改为:1,4,5,6,8。-*/ #include stdio.h #define N 5 main() int aN=8,6,5,4,1,i。 for(i=0。iN 。i+) printf(%4d,ai)。 printf(n)。 fun(a,N)。 for(i=0。iN 。i+) printf(%4d,ai)。 yzj()。 getch()。 int fun(int arr,int n) /*P
33、rogram*/ /* End */ yzj() FILE *IN,*OUT。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 22 页,共 36 页 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)。 fun(i,10)。 for(n=0。n10。 n
34、+) fprintf(OUT,%dn,in)。 fclose(IN)。 fclose(OUT)。答案: - int i,t。 for(i=0。in/2 。 i+) t=arri。 arri=arrn-1-i。 arrn-1-i=t。 - 第 15 题 (10.0 分)题号 :53 /*- 【程序设计】- 功能:求一个给定字符串中的字母的个数。-*/ #include stdio.h 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 23 页,共 36 页int fun(char s) /*Program*/ /* End */ main() char
35、 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=fopen(21.out,w)。 if(OUT=NULL) printf(Please Verify The Current Dir. It May Be Changed)。 for(
36、i=0。i=a&si=A&si=Z) k+。 return k。- 第 16 题 (10.0 分)题号 :389 /*- 【程序设计】- 功能:编写函数判断一个整数能否同时被3 和 5 整除,若能则返回值为1,否则为0。调用该函数求出15300 之间能同时被3 和 5 整除的数的个数。-*/ #include stdio.h int sum(int n) /*Program*/ /* End */ main() int i,s=0。 for(i=15。i=300 。i+) if(sum(i)=1) s=s+1。 printf(s=%dn,s)。 yzj()。精选学习资料 - - - - - -
37、 - - - 名师归纳总结 - - - - - - -第 25 页,共 36 页 getch()。 yzj() FILE *IN,*OUT。 int n。 int i12。 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。n5。n+) fscanf(IN,%d,&in)。 for(n=0。n5。n+) o = sum(in)。 fprintf(OUT,%dn,o)。 fclose
38、(IN)。 fclose(OUT)。 答案: - if(n%3=0&n%5=0) return(1)。 return(0)。- 第 17 题 (10.0 分)题号 :324 /*- 【程序设计】- 功能:求1 到 w之间的奇数之和。(w 是大于等于100 小于等于 1000 的整数)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 26 页,共 36 页-*/ #include stdio.h #includeconio.h long fun(int w) /*Program*/ /* End */ main() int m。 printf(Ente
39、r m: )。 scanf(%d, &m)。 printf(nThe result is %ldn, fun(m)。 yzj()。 getch()。 yzj() FILE *IN,*OUT。 int c 。 int t。 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)。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 27 页,共 36 页 for(c
40、=1。c=5。 c+) fscanf(IN,%d,&t)。 o=fun(t)。 fprintf(OUT,%ldn,o)。 fclose(IN)。 fclose(OUT)。答案: - long y=0。 int i。 for(i=1。i=w 。i+) if(i%2=1)y+=i。 return y。- 第 18 题 (10.0 分)题号 :329 /*- 【程序设计】- 功能:求k!( k13),所求阶乘的值作为函数值返回。(要求使用递归)-*/ #include stdio.h #includeconio.h long fun(int k) /*Program*/ /* End */ 精选学习
41、资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 28 页,共 36 页main() int m。 printf(Enter m: )。 scanf(%d, &m)。 printf(nThe result is %ldn, fun(m)。 yzj()。 getch()。 yzj() FILE *IN,*OUT。 int s 。 int t。 long o。 IN=fopen(in.dat,r)。 if(IN=NULL) printf(Read File Error)。 OUT=fopen(out.dat,w)。 if(OUT=NULL) printf(Wri
42、te File Error)。 for(s=1。s0) return(k*fun(k-1)。else if(k=0) return 1L。- 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 29 页,共 36 页第 19 题 (10.0 分)题号 :325 /*- 【程序设计】- 功能:能计算从1 开始到 n 的自然数中偶数的平方的和,n 由键盘输入,并在main() 函数中输出。(n 是偶数)-*/ #include stdio.h int fun(int n) /*Program*/ /* End */ main() int m。 printf
43、(Enter m: )。 scanf(%d, &m)。 printf(nThe result is %dn, fun(m)。 yzj()。 getch()。 yzj() FILE *IN,*OUT。 int t。 int o。 int c。 IN=fopen(in.dat,r)。 if(IN=NULL) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 30 页,共 36 页 printf(Read File Error)。 OUT=fopen(out.dat,w)。 if(OUT=NULL) printf(Write File Error)。 fo
44、r(c=1。c=5。 c+) fscanf(IN,%d,&t)。 o=fun(t)。 fprintf(OUT,%dn,o)。 fclose(IN)。 fclose(OUT)。答案: - int sum,i。sum =0。for(i=2。i=n 。i=i+2) sum=sum+i*i 。 return(sum)。- 第 20 题 (10.0 分)题号 :312 /*- 【程序设计】- 功能:计算n 门课程的平均值,计算结果作为函数值返回。例如:若有5 门课程的成绩是:92,76,69,58,88,则函数的值为76.599998 。-*/ #include stdio.h float fun(in
45、t a,int n) /*Program*/ 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 31 页,共 36 页 /* End */ main() int a=92,76,69,58,88。 printf(y=%fn,fun(a,5)。 getch()。 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)。 OU
46、T=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(iIN,5)。 fprintf(OUT,%fn,fOUT)。 fclose(IN)。 fclose(OUT)。答案: - int i。 float y=0。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 32 页,共 36 页 for(i=0。in
47、 。i+) y+=ai。 y=y/n。 return y。- 第 21 题 (10.0 分)题号 :391 /*- 【程序设计】- 功能:编写函数求1100 中奇数的平方和。结果为166650。-*/ #include stdio.h float sum(int n) /*Program*/ /* End */ main() printf(sum=%fn,sum(100)。 yzj()。 getch()。 yzj() FILE *IN,*OUT。 int n。 int i。 float o。 IN=fopen(in.dat,r)。 if(IN=NULL) 精选学习资料 - - - - - -
48、- - - 名师归纳总结 - - - - - - -第 33 页,共 36 页 printf(Read File Error)。 OUT=fopen(out.dat,w)。 if(OUT=NULL) printf(Write File Error)。 fscanf(IN,%d,&i)。 o=sum(i)。 fprintf(OUT,%fn,o)。 fclose(IN)。 fclose(OUT)。答案: - float s=0。 int i,j。 for(i=1。i=n 。i=i+2) s=s+i*i。 return(s)。- 第 22 题 (10.0 分)题号 :316 /*- 【程序设计】-
49、功能:将主函数中输入的字符串反序存放。例如:输入字符串“ abcdefg”,则应输出“ gfedcba”。-*/ #include #include #define N 81 char fun(char *str,int n) /*Program*/ 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 34 页,共 36 页 /* End */ main() char s N。 int l。 clrscr()。 printf(input a string:)。gets(s)。 l=strlen(s)。 fun(s,l)。 printf(The new
50、string is :)。puts(s)。 getch()。 yzj()。 yzj() FILE *IN,*OUT。 char sIN20,*sOUT。 int iLENGTH。 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)。 iLENGTH=
51、strlen(sIN)。 sOUT=sIN 。 fun(sIN,iLENGTH)。 fprintf(OUT,%sn,sOUT)。 fclose(IN)。 fclose(OUT)。 答案: - int i,j。 char c。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 35 页,共 36 页for(i=0,j=n-1。ij 。i+,j-) /*或者 for(i=0,j=n-1。in/2 。i+,j-)*/ c=*(str+i)。*(str+i)=*(str+j)。*(str+j)=c。 - 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 36 页,共 36 页