C语言期末复习试题
更新时间:2024-04-03 17:04:01 阅读量: 综合文库 文档下载
- c语言试卷及答案期末推荐度:
- 相关推荐
试卷编号:10767 所属语言:C语言
试卷方案:TC_150604083824 试卷总分:570分 共有题型:1种
一、程序设计 共57题 (共计570分)
第1题 (10.0分) 题号:374 难度:易 第2章 /*------------------------------------------------ 【程序设计】
--------------------------------------------------
功能:编写函数实现两个数据的交换,在主函数中输入任 意三个数据,调用函数对这三个数据从大到小排序。
------------------------------------------------*/
#include
void swap(int *a,int *b) {
/**********Program**********/
/********** End **********/ } main() {
int x,y,z;
scanf(\ if(x void wwjt() { FILE *IN,*OUT; int m,n; int i[2]; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(n=0;n<3;n++) { for(m=0;m<2;m++) { fscanf(IN,\ } swap(&i[0],&i[1]); fprintf(OUT,\ fprintf(OUT,\ } fclose(IN); fclose(OUT); } 答案:---------------------- int k; k=*a; *a=*b; *b=k; ---------------------- 第2题 (10.0分) 题号:381 难度:易 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:求一批数中小于平均值的数的个数。 第2章 ------------------------------------------------*/ #include int average_num(int a[],int n) { /**********Program**********/ /********** End **********/ } main() { int n,a[100],i,num; scanf(\ for(i=0;i printf(\ wwjt(); } void wwjt() { FILE *IN,*OUT; int n; int i[10]; int o; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(n=0;n<5;n++) { fscanf(IN,\ } o=average_num(i,5); fprintf(OUT,\ fclose(IN); fclose(OUT); } 答案:---------------------- int i,sum=0,k=0; double average; for(i=0;i ---------------------- 第3题 (10.0分) 题号:406 难度:易 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:编写函数fun求1000以内所有7的倍数之和。 ------------------------------------------------*/ #define N 1000 #include int fun(int m) { /**********Program**********/ /********** End **********/ 第2章 } void main() { int sum; sum=fun(7); printf(\以内所有%d的倍数之和为:%d\\n\ wwjt(); } void wwjt() { FILE *IN,*OUT; int n; int i[10]; int o; OUT=fopen(\ if(OUT==NULL) { printf(\ } o = fun(6); fprintf(OUT,\ fclose(IN); fclose(OUT); } 答案:---------------------- int s=0,i; for(i=1;i ---------------------- 第4题 (10.0分) 题号:324 难度:易 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:能计算从1开始到n的自然数中偶数的平方的和,n由 键盘输入,并在main()函数中输出。(n是偶数) 第2章 ------------------------------------------------*/ #include int fun(int n) { /**********Program**********/ /********** End **********/ } main() { int m; printf(\ scanf(\ printf(\ wwjt(); } void wwjt() { FILE *IN,*OUT; int t; int o; int c; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(c=1;c<=5;c++) { fscanf(IN,\ o=fun(t); fprintf(OUT,\ } fclose(IN); fclose(OUT); } 答案:---------------------- int sum,i; sum =0; for(i=2;i<=n;i=i+2) { sum=sum+i*i;} return(sum); ---------------------- 第5题 (10.0分) 题号:2 难度:中 第1章 /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目:写程序求1-3+5-7+…-99+101的值 要求:使用程序中定义的变量 -------------------------------------------------------*/ #include\void wwjt(); //函数功能:求1-3+5-7+…-+n的值 int fun(int n) { int i,s=0,f=1;//i定义为循环变量,s为1-3+5-7+…-n的值 /**********Program**********/ /********** End **********/ return s; } main() { printf(\ wwjt(); } void wwjt() { FILE *IN,*OUT; int i,n; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(i=0;i<5;i++) { fscanf(IN,\ fprintf(OUT,\ } fclose(IN); fclose(OUT); } 答案: for (i=1;i<=n;i+=2) 第6题 (10.0分) 题号:357 难度:易 第2章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- { } s=s+i*f; f=-f; 功能:根据整型形参m,计算如下公式的值: y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5) 例如:若m=9,则应输出:1.168229 ------------------------------------------------*/ #include double fun(int m) { /**********Program**********/ /********** End **********/ } main() { int n; printf(\ scanf(\ printf(\ wwjt(); } void wwjt() { FILE *IN,*OUT; int i ; int t; double o; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(i=0;i<5;i++) { fscanf(IN,\ o=fun(t); fprintf(OUT,\ } fclose(IN); fclose(OUT); } 答案:---------------------- double y=0; int i; for(i=0; i<=m; i++) {y+=1.0/(i+5); } return(y); ---------------------- 第7题 (10.0分) 题号:392 难度:中 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:求一批数中最大值和最小值的积。 ------------------------------------------------*/ #define N 30 #include \#include int max_min(int a[],int n) { /**********Program**********/ /********** End **********/ 第2章 } main() { int a[N],i,k; for(i=0;i printf(\ if((i+1)%5==0) printf(\ } k=max_min(a,N); printf(\ wwjt(); } void wwjt() { FILE *IN,*OUT; int n; int i[10]; int o; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(n=0;n<10;n++) { fscanf(IN,\ } o=max_min(i,10); fprintf(OUT,\ fclose(IN); fclose(OUT); } 答案:---------------------- int i,max,min; max=min=a[0]; for(i=1;i if(a[i]>max) max=a[i]; else if(a[i] 第8题 (10.0分) 题号:342 难度:中 第2章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:在键盘上输入一个3行3列矩阵的各个元素的值(值 为整数),然后输出矩阵第一行与第三行元素之和, 并在fun()函数中输出。 ------------------------------------------------*/ #include void fun(int a[3][3]) { /**********Program**********/ /********** End **********/ } main() { int i,j,s,a[3][3]; for(i=0;i<3;i++) { for(j=0;j<3;j++) scanf(\ } s=fun(a); printf(\ wwjt(); } void wwjt() { FILE *IN,*OUT; int m; int n; int i[3][3]; int o; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(m=0;m<3;m++) { for(n=0;n<3;n++) fscanf(IN,\ } o=fun(i); { fprintf(OUT,\ getch(); } fclose(IN); fclose(OUT); } 答案:---------------------- int sum; int i,j; sum=0; for(i=0;i<3;i+=2) for(j=0;j<3;j++) sum=sum+a[i][j]; return sum; ---------------------- 第9题 (10.0分) 题号:364 难度:中 第2章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:求一个四位数的各位数字的立方和。 -----------------------------------------------*/ #include int fun(int n) { /**********Program**********/ /********** End **********/ } main() { int k; k=fun(1234); printf(\ wwjt(); } void wwjt() { FILE *IN,*OUT; int iIN,iOUT,i; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(i=0;i<5;i++) { fscanf(IN,\ iOUT=fun(iIN); fprintf(OUT,\ } fclose(IN); fclose(OUT); } 答案:---------------------- int d,s=0; while (n>0) {d=n; s+=d*d*d; n/=10; } return s; ---------------------- 第10题 (10.0分) 题号:502 难度:中 第20章 #include /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目:用while语句求1~100的累计和。 -------------------------------------------------------*/ void wwjt(); int fun(int n) { /**********Program**********/ /********** End **********/ } void main() { int sum = 0; sum=fun(100); printf (\ wwjt(); } void wwjt() { FILE *IN,*OUT; int i; int iIN,iOUT; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(i=0;i<5;i++) { fscanf(IN,\ iOUT=fun(iIN); fprintf(OUT,\ } fclose(IN); fclose(OUT); } 答案: int i=1,sum=0; while(i<=n) { sum=sum+i; i++; } return sum; 第11题 (10.0分) 题号:53 难度:中 第1章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:求一个四位数的各位数字的立方和 ------------------------------------------------*/ #include int fun(int n) { /**********Program**********/ /********** End **********/ } main() { int k; k=fun(1234); printf(\ wwjt(); } void wwjt() { FILE *IN,*OUT; int iIN,iOUT,i; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(i=0;i<10;i++) { fscanf(IN,\ iOUT=fun(iIN); fprintf(OUT,\ } fclose(IN); fclose(OUT); } 答案:---------------------- int d,k,s=0; while (n>0) {d=n; s+=d*d*d; n/=10; } return s; ---------------------- 第12题 (10.0分) 题号:409 难度:易 第20章 /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目:输入华氏温度求摄氏温度。转换公式为 c=5/9(f-32), 输出结果取两位小数。 -------------------------------------------------------*/ #include double fun(double m) { /**********Program**********/ /********** End **********/ } void main() { double c,f; printf(\请输入一个华氏温度:\ scanf(\ c=fun(f); printf(\摄氏温度为:%5.2f\\n\ wwjt(); } void wwjt() { FILE *IN,*OUT; int i; double iIN,iOUT; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(i=0;i<5;i++) { fscanf(IN,\ iOUT=fun(iIN); fprintf(OUT,\ } fclose(IN); fclose(OUT); } 答案: float n; n=(5.0/9.0)*(m-32); return n; 第13题 (10.0分) 题号:345 难度:中 第2章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:将两个两位数的正整数a、b合并形成一个整数放在c 中。合并的方式是:将a数的十位和个位数依次放在 c数的千位和十位上, b数的十位和个位数依次放在 c数的个位和百位上。 例如:当a=45,b=12。调用该函数后,c=4251。 ------------------------------------------------*/ #include void fun(int a, int b, long *c) { /**********Program**********/ /********** End **********/ } main() { int a,b; long c; printf(\ scanf(\ fun(a, b, &c); printf(\ wwjt(); } void wwjt ( ) { FILE *rf, *wf ; int i, a,b ; long c ; rf = fopen(\ wf = fopen(\ for(i = 0 ; i < 10 ; i++) { fscanf(rf, \ fun(a, b, &c) ; fprintf(wf, \ } fclose(rf) ; fclose(wf) ; } 答案:---------------------- *c=a/10*1000+a*10+b/10+b*100; ---------------------- 第14题 (10.0分) 题号:335 难度:中 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:求一个n位自然数的各位数字的积。(n 是小于10的 自然数) ------------------------------------------------*/ #include long fun(long n) { /**********Program**********/ 第2章 /********** End **********/ } main() { long m; printf(\ scanf(\ printf(\ wwjt(); } void wwjt() { FILE *IN,*OUT; int c ; long t; long o; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(c=1;c<=5;c++) { fscanf(IN,\ o=fun(t); fprintf(OUT,\ } fclose(IN); fclose(OUT); } 答案:---------------------- long d,s=1; while (n>0) {d=n; s*=d; n/=10; } return s; ---------------------- 第15题 (10.0分) 题号:337 难度:中 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:将两个两位数的正整数a、b合并形成一个整数放在 c中。合并的方式是:将a数的十位和个位数依次放 在c数的百位和个位上, b数的十位和个位数依次放 在c数的十位和千位上。 例如:当a=45,b=12。调用该函数后,c=2415。 ------------------------------------------------*/ #include void fun(int a, int b, long *c) { /**********Program**********/ /********** End **********/ } main() { int a,b; long c; printf(\ scanf(\ fun(a, b, &c); 第2章 printf(\ wwjt(); } void wwjt ( ) { FILE *rf, *wf ; int i, a,b ; long c ; rf = fopen(\ wf = fopen(\ for(i = 0 ; i < 10 ; i++) { fscanf(rf, \ fun(a, b, &c) ; fprintf(wf, \ } fclose(rf) ; fclose(wf) ; } 答案:---------------------- *c=a/10*100+a+b/10*10+b*1000; ---------------------- 第16题 (10.0分) 题号:325 难度:中 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:在键盘上输入一个3行3列矩阵的各个元素的值(值 为整数),然后输出主对角线元素的平方和,并在 fun()函数中输出。 ------------------------------------------------*/ #include int i,j,s,a[3][3];; for(i=0;i<3;i++) { for(j=0;j<3;j++) 第2章 scanf(\ } s=fun(a); printf(\ wwjt(); } int fun(int a[3][3]) { /**********Program**********/ /********** End **********/ } void wwjt() { FILE *IN,*OUT; int m; int n; int i[3][3]; int o; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(m=0;m<3;m++) { for(n=0;n<3;n++) fscanf(IN,\ } o=fun(i); { fprintf(OUT,\ getch(); } fclose(IN); fclose(OUT); } 答案:---------------------- int sum; int i; sum=0; for(i=0;i<3;i++) sum=sum+a[i][i]*a[i][i]; return sum; ---------------------- 第17题 (10.0分) 题号:352 难度:易 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:根据整型形参m,计算如下公式的值:y=1/2+1/4+ 1/6+...+1/2m 。 例如:若m=9,则应输出:1.414484 ------------------------------------------------*/ #include double fun(int m) { /**********Program**********/ /********** End **********/ } main() { 第2章 int n; printf(\ scanf(\ printf(\ wwjt(); } void wwjt() { FILE *IN,*OUT; int i ; int t; double o; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(i=0;i<5;i++) { fscanf(IN,\ o=fun(t); fprintf(OUT,\ } fclose(IN); fclose(OUT); } 答案:---------------------- double y=0; int i; for(i=1; i<=m; i++) {y+=1.0/(2*i); } return(y); ---------------------- 第18题 (10.0分) 题号:312 难度:中 /*------------------------------------------------ 第2章 【程序设计】 -------------------------------------------------- 功能:调用函数fun判断一个三位数是否\水仙花数\。 在main函数中从键盘输入一个三位数,并输 出判断结果。请编写fun函数。 说明:所谓\水仙花数\是指一3位数,其各位数字立方和 等于该数本身。 例如:153是一个水仙花数,因为153=1+125+27。 ------------------------------------------------*/ #include int fun(int n) { /**********Program**********/ /********** End **********/ } main() { int n,flag; scanf(\ flag=fun(n); if(flag) printf(\是水仙花数\\n\ else printf(\不是水仙花数\\n\ wwjt(); } void wwjt() { FILE *IN,*OUT; int iIN,i; int iOUT; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(i=0;i<10;i++) { fscanf(IN,\ iOUT=fun(iIN); fprintf(OUT,\ } fclose(IN); fclose(OUT); } 答案:---------------------- int bw,sw,gw; bw=n/100;sw=(n-bw*100)/10;gw=n; if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw) return 1; else return 0; ---------------------- 第19题 (10.0分) 题号:29 难度:中 第4章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:对任意输入的 x,用下式计算并输出 y 的值。 5 x<10 y= 0 x=10 -5 x>10 ------------------------------------------------*/ #include int fun(int n) { /**********Program**********/ /********** End **********/ } void main () { int x,y; printf(\ scanf(\ y=fun(x); printf(\ wwjt(); } void wwjt() { FILE *IN,*OUT; int i; int iIN; long int iOUT; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(i=0;i<5;i++) { fscanf(IN,\ iOUT=fun(iIN); fprintf(OUT,\ } fclose(IN); fclose(OUT); } 答案: int m; if(n<10) m=5; else if(n==10) m=0; else m=-5; return m; 或 int m; if(n>=10) if(n>10) m=-5; else m=0; else m=5; return m; 第20题 (10.0分) 题号:316 难度:易 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:统计出若干个学生的平均成绩,最高分以及得最高 分的人数。 例如:输入10名学生的成绩分别为92,87,68,56,92, 84,67,75,92,66,则输出平均成绩为77.9, 最高分为92,得最高分的人数为3人。 ------------------------------------------------*/ #include float Max=0; int J=0; 第2章 float fun(float array[],int n) { /**********Program**********/ /********** End **********/ } main( ) { float a[10],ave; int i=0; for(i=0;i<10;i++) scanf(\ ave=fun(a,10); printf(\ printf(\ printf(\ wwjt(); } void wwjt() { FILE *IN,*OUT; float iIN[10],iOUT; int iCOUNT; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(iCOUNT=0;iCOUNT<10;iCOUNT++) fscanf(IN,\ iOUT=fun(iIN,10); fprintf(OUT,\ fclose(IN); fclose(OUT); } 答案:---------------------- int i;float sum=0,ave; Max=array[0]; for(i=0;i { if(Max ---------------------- 第21题 (10.0分) 题号:389 难度:易 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:编写函数求表达式的和(n的值由主函数输入)。 1-1/2+1/3-1/4+......+1/m 例如:当n=20时,表达式的值为0.668771。 ------------------------------------------------*/ #include double sum(int n) { /**********Program**********/ /********** End **********/ } 第2章 main() { int n; scanf(\ printf(\ wwjt(); } void wwjt() { FILE *IN,*OUT; int n; int i[10]; double o; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(n=0;n<5;n++) fscanf(IN,\ for(n=0;n<5;n++) { o = sum(i[n]); fprintf(OUT,\ } 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); ---------------------- 第22题 (10.0分) 题号:322 难度:中 第2章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:判断一个整数w的各位数字平方之和能否被5整除, 可以被5整除则返回1,否则返回0。 ------------------------------------------------*/ #include int fun(int w) { /**********Program**********/ /********** End **********/ } main() { int m; printf(\ scanf(\ printf(\ wwjt(); } void wwjt() { FILE *IN,*OUT; int c ; int t; int o; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(c=1;c<=5;c++) { fscanf(IN,\ o=fun(t); fprintf(OUT,\ } fclose(IN); fclose(OUT); } 答案:---------------------- int k,s=0; do {s=s+(w)*(w); w=w/10; }while(w!=0); if(s%5==0)k=1; else k=0; return(k); ---------------------- 第23题 (10.0分) 题号:22 难度:易 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:从键盘为一维整型数组输入10个整数,调用fun 函数找出其中最小的数,并在main函数中输出。 请编写fun函数。 -------------------------------------------------*/ #include \void wwjt(); 第1章 int fun(int x[],int n) { /**********Program**********/ /********** End **********/ } main() { int a[10],i,min; for(i=0;i<10;i++) scanf(\ for(i=0;i<10;i++) printf(\ printf(\ min=fun(a,10); printf(\ wwjt(); } void wwjt() { FILE *IN,*OUT; int iIN[10],i; int iOUT,iCOUNT; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(i=0;i<10;i++) { for(iCOUNT=0;iCOUNT<10;iCOUNT++) fscanf(IN,\ iOUT=fun(iIN,10); fprintf(OUT,\ } fclose(IN); fclose(OUT); } 答案:---------------------- int min,i; min=x[0]; for(i=1;i {if(x[i] ---------------------- 第24题 (10.0分) 题号:327 难度:易 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:能计算从1开始到n的自然数的和,n由键盘输入, 并在main()函数中输出。 ------------------------------------------------*/ #include int fun(int n) { /**********Program**********/ /********** End **********/ } 第2章 main() { int m; printf(\ scanf(\ printf(\ wwjt(); } void wwjt() { FILE *IN,*OUT; int t; int o; int c; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(c=1;c<=5;c++) { fscanf(IN,\ o=fun(t); fprintf(OUT,\ } fclose(IN); fclose(OUT); } 答案:---------------------- int sum,i; sum =0; for(i=1;i<=n;i++) {sum=sum+i;} return(sum); ---------------------- 第25题 (10.0分) 题号:347 难度:易 第2章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:把20个随机数存入一个数组,然后输出该数组中的 最小值。其中确定最小值的下标的操作在fun函数中 实现,请给出该函数的定义。 ------------------------------------------------*/ #include int vector[VSIZE] ; int fun(int list[],int size) { /**********Program**********/ /********** End **********/ } main() { int i; for (i=0;i vector[i]=rand(); printf(\ } i=fun(vector,VSIZE); printf(\ wwjt(); } void wwjt() { int i,t; FILE *fp ; fp = fopen(\ for (i=0;i fprintf(fp,\ } t=fun(vector,VSIZE); fprintf(fp,\ fclose(fp) ; } 答案:---------------------- int i,min=0; for(i=1; i ---------------------- 第26题 (10.0分) 题号:360 难度:易 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:把20个随机数存入一个数组,然后输出该数组中的 最大值。 ------------------------------------------------*/ #include int vector[VSIZE] ; int fun(int list[],int size) { /**********Program**********/ 第2章 /********** End **********/ } main() { int i; for (i=0;i vector[i]=rand(); printf(\ } i=fun(vector,VSIZE); printf(\ wwjt(); } void wwjt() { int i,t; FILE *fp ; fp = fopen(\ for (i=0;i fprintf(fp,\ } t=fun(vector,VSIZE); fprintf(fp,\ fclose(fp) ; } 答案:---------------------- int i,max=0; for(i=1; i ---------------------- 第27题 (10.0分) 题号:321 难度:中 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 第2章 功能:编写函数fun其功能是:根据整型形参m,计算如下 公式的值:y=1/2!+1/4!+…+1/m!(m是偶数) ------------------------------------------------*/ #include double fun(int m) { /**********Program**********/ /********** End **********/ } main() { int n; printf(\ scanf(\ printf(\ wwjt(); } void wwjt() { FILE *IN,*OUT; int t; double o; int c; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(c=1;c<=5;c++) { fscanf(IN,\ o=fun(t); fprintf(OUT,\ } 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; 第28题 (10.0分) 题号:402 难度:易 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:编写函数fun生成一个对角线元素为1,其他元素都 为0的3*3的二维数组。 ------------------------------------------------*/ #include fun(int arr[][3]) { int i,j; /**********Program**********/ 第2章 /********** End **********/ } main() { int a[3][3],i,j; fun(a); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf(\ printf(\ } wwjt(); } void wwjt() { FILE *IN,*OUT; int m,n; int i[3][3]; int o; OUT=fopen(\ if(OUT==NULL) printf(\} fun(i); for (m=0;m<3 ;m++ ) { for(n=0;n<3;n++) { fprintf(OUT,\ } fprintf(OUT,\} fclose(IN); fclose(OUT); } 答案:---------------------- for(i=0;i<3;i++) for(j=0;j<3;j++) if(i==j) arr[i][j]=1; else arr[i][j]=0; ---------------------- 第29题 (10.0分) 题号:323 难度:易 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:求1到w之间的奇数之和。(w是大于等于100小于等 于1000的整数) ------------------------------------------------*/ #include long fun(int w) { /**********Program**********/ /********** End **********/ } main() { int m; printf(\ scanf(\ printf(\ wwjt(); } 第2章 void wwjt() { FILE *IN,*OUT; int c ; int t; long o; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(c=1;c<=5;c++) { fscanf(IN,\ o=fun(t); fprintf(OUT,\ } fclose(IN); fclose(OUT); } 答案:---------------------- long y=0; int i; for(i=1;i<=w;i++) if(i%2==1)y+=i; return y; ---------------------- 第30题 (10.0分) 题号:501 难度:易 第20章 #include /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目:从键盘输入一个大写字母,要求改用小写字母输出。 -------------------------------------------------------*/ #include char fun(char c) { /**********Program**********/ /********** End **********/ } void main() { char c1, c2; printf(\ c1=getchar(); printf(\ c2=fun(c1); printf(\ wwjt(); } void wwjt() { FILE *IN,*OUT; int i; char iIN,iOUT; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(i=0;i<5;i++) { fscanf(IN,\ iOUT=fun(iIN); fprintf(OUT,\ } fclose(IN); fclose(OUT); } 答案: c=c+32; return c; 第31题 (10.0分) 题号:373 难度:较易/*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:用函数求fibonacci数列前n项的和。 说明:fibonacci数列为数列的第一项值为1,第二项值也 为1,从第三项开始,每一项均为其前面相邻两项 的和。 例如:当n=28时,运行结果:832039 ------------------------------------------------*/ #include long sum(long f1,long f2) { /**********Program**********/ /********** End **********/ } main() { long int f1=1,f2=1; printf(\ wwjt(); 第2章 } void wwjt() { FILE *IN,*OUT; int n; int i[2]; long int o; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(n=0;n<2;n++) fscanf(IN,\ o = sum(i[0],i[1]); fprintf(OUT,\ 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); ---------------------- 第32题 (10.0分) 题号:367 难度:中 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 第2章
正在阅读:
C语言期末复习试题04-03
2018年母亲节活动策划书模板03-08
幼儿园的教师随笔11-20
高考数学知识考点精析3:函数的单调性、周期性、奇偶性、反函数03-23
东莞GPRS无线信道配置研究报告06-01
2019-2020年高中数学《等差数列的前n项和》教案1苏教版必修511-16
商业银行公司治理指引(银监发34号)01-23
高考地理第二轮专题复习 高考题型冲刺练 选择题 统计表格判读型09-23
党建五年规划(鄂办发17号)05-18
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 期末
- 试题
- 复习
- 语言
- 和平区社区党建工作制度20
- 生化习题集(师)
- 项目部建家建线经验介绍 - 图文
- 九华完小创建长沙市标准化实验室建设汇报材料1
- XXX公司网上银行管理办法
- 《文化产业项目管理》教学大纲
- 电视画面编辑
- 电大建筑施工与管理专业毕业实践日志 - 图文
- 初中物理演示实验、分组实验
- 2012年物业管理师《基本制度与政策》最后冲刺试卷(8)-中大网校
- 南方电网校园招聘选择题库(必做选择题题库!50页+)
- 人教版小学四年级语文上册复习 口语交际
- 状语从句Adverbial Clauses - 图文
- 1下面是一张一种可变生产要素的短期生产函数的产量表
- 招标代理服务初步方案(建委评级)
- 《 房屋建筑工程劳务分包合同范本》
- 我国大学数学课程建设和教学改革六十年(2)
- 投资学计算题
- 高速站站主体结构施工方案
- 2019高考英语全真模拟试卷(附答案解析)