C语言模拟题库16.docVIP

  • 54
  • 0
  • 约 5页
  • 2017-01-06 发布于贵州
  • 举报
C语言模拟题库16C语言模拟题库16

/*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:求k!(k〈13),所求阶乘的值作为函数值返回。 (要求使用递归) ------------------------------------------------*/ #include stdio.h #includeconio.h void bky(); long fun(int k) { /**********Begin**********/ /********** End **********/ } main() { int m; printf(Enter m: ); scanf(%d, m); printf(\nThe result is %ld\n, fun(m)); bky(); } void bky() { 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(Write FILE Error); } for(s=1;s=5;s++) { fscanf(IN,%d,t); o=fun(t); fprintf(OUT,%ld\n,o); } fclose(IN); fclose(OUT); } 【参考代码】 if (k0) return(k*fun(k-1)); else if(k==0) return 1L; =============== 【考生代码】 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:求1到w之间的奇数之和。(w是大于等于100小于等 于1000的整数) ------------------------------------------------*/ #include stdio.h #includeconio.h void bky(); long fun(int w) { /**********Begin**********/ /********** End **********/ } main() { int m; printf(Enter m: ); scanf(%d, m); printf(\nThe result is %ld\n, fun(m)); bky(); } void bky() { 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); } for(c=1;c=5;c++) { fscanf(IN,%d,t); o=fun(t); fprintf(OUT,%ld\n,o); } fclose(IN); fclose(OUT); } 【参考代码】 long y=0; int i; for(i=1;i=w;i++) if(i%2==1)y+=i; return y; =============== 【考生代码】 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:求一批数中最大值和最小值

文档评论(0)

1亿VIP精品文档

相关文档