C语言期末复习试题
更新时间:2024-01-18 00:21: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语言期末复习试题01-18
2010年自考文学类美学资料详解(二)07-18
卫星通信报告03-15
建筑概论01-29
上海小学数学教材目录(沪教版)02-20
创建演示文稿03-17
【2018-2019】教师党员实事承诺书-范文word版 (4页)05-22
试用期转正工作总结8篇04-20
生物化学实验报告(刘版) - 图文01-27
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 期末
- 试题
- 复习
- 语言
- 《网络安全法》相关配套法律法规和规范性文件梳理
- 党史知识竞赛100题
- 中考数学总复习一次函数检测卷(含答案)
- GSM信令流程(超详细)
- 关于中小学教师在职脱产进修的管理规定
- 小学《文明礼仪教育》校本课程教材 - 图文
- 电视画面编辑
- 1下面是一张一种可变生产要素的短期生产函数的产量表
- 投资学计算题
- 2010小升初英语每日一练答案及详细解析
- 化工设备机械基础模拟复习题
- 高速站站主体结构施工方案
- 中班美术活动教案:妈妈的新发型
- 衍生品牌的特点与运用策略 - 图文
- 国家题库初级家用电子产品维修工知识试卷及答案1
- 人教版八年级物理:第三章 物态变化(附答案)
- 状语从句Adverbial Clauses - 图文
- 服装生产企业仓储与存货内部控制设计 - 以某服装加工厂为例
- 1、总体概述:工期目标、质量目标、安全目标、质量保修期;施工组织总体设想、方案针对性和施工段划分
- 赴西南大学学习心得体会