C语言期末复习试题.docx
- 文档编号:1862487
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:118
- 大小:34.51KB
C语言期末复习试题.docx
《C语言期末复习试题.docx》由会员分享,可在线阅读,更多相关《C语言期末复习试题.docx(118页珍藏版)》请在冰豆网上搜索。
C语言期末复习试题
试卷编号:
10767
所属语言:
C语言
试卷方案:
TC_4
试卷总分:
570分
共有题型:
1种
一、程序设计共57题(共计570分)
第1题(10.0分)题号:
374难度:
易第2章
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
编写函数实现两个数据的交换,在主函数中输入任
意三个数据,调用函数对这三个数据从大到小排序。
------------------------------------------------*/
#include
voidwwjt();
voidswap(int*a,int*b)
{
/**********Program**********/
/**********End**********/
}
main()
{
intx,y,z;
scanf("%d%d%d",&x,&y,&z);
if(x if(x if(y printf("%3d%3d%3d",x,y,z); wwjt(); } voidwwjt() { FILE*IN,*OUT; intm,n; inti[2]; IN=fopen("in.dat","r"); if(IN==NULL) { printf("ReadFILEError"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("WriteFILEError"); } for(n=0;n<3;n++) { for(m=0;m<2;m++) { fscanf(IN,"%d",&i[m]); } swap(&i[0],&i[1]); fprintf(OUT,"%d\n",i[0]); fprintf(OUT,"%d\n",i[1]); } fclose(IN); fclose(OUT); } 答案: ---------------------- intk; k=*a; *a=*b; *b=k; ---------------------- 第2题(10.0分)题号: 381难度: 易第2章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 求一批数中小于平均值的数的个数。 ------------------------------------------------*/ #include voidwwjt(); intaverage_num(inta[],intn) { /**********Program**********/ /**********End**********/ } main() { intn,a[100],i,num; scanf("%d",&n); for(i=0;i scanf("%d",&a[i]); num=average_num(a,n); printf("thenumis: %d\n",num); wwjt(); } voidwwjt() { FILE*IN,*OUT; intn; inti[10]; into; IN=fopen("in.dat","r"); if(IN==NULL) { printf("ReadFILEError"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("WriteFILEError"); } for(n=0;n<5;n++) { fscanf(IN,"%d",&i[n]); } o=average_num(i,5); fprintf(OUT,"%d\n",o); fclose(IN); fclose(OUT); } 答案: ---------------------- inti,sum=0,k=0; doubleaverage; for(i=0;i sum=sum+a[i]; average=sum*1.0/n; for(i=0;i if(average>a[i])k++; return(k); ---------------------- 第3题(10.0分)题号: 406难度: 易第2章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 编写函数fun求1000以所有7的倍数之和。 ------------------------------------------------*/ #defineN1000 #include voidwwjt(); intfun(intm) { /**********Program**********/ /**********End**********/ } voidmain() { intsum; sum=fun(7); printf("%d以所有%d的倍数之和为: %d\n",N,7,sum); wwjt(); } voidwwjt() { FILE*IN,*OUT; intn; inti[10]; into; OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("WriteFILEError"); } o=fun(6); fprintf(OUT,"%d\n",o); fclose(IN); fclose(OUT); } 答案: ---------------------- ints=0,i; for(i=1;i if(i%m==0) s+=i; returns; ---------------------- 第4题(10.0分)题号: 324难度: 易第2章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 能计算从1开始到n的自然数中偶数的平方的和,n由 键盘输入,并在main()函数中输出。 (n是偶数) ------------------------------------------------*/ #include voidwwjt(); intfun(intn) { /**********Program**********/ /**********End**********/ } main() { intm; printf("Enterm: "); scanf("%d",&m); printf("\nTheresultis%d\n",fun(m)); wwjt(); } voidwwjt() { FILE*IN,*OUT; intt; into; intc; IN=fopen("in.dat","r"); if(IN==NULL) { printf("ReadFILEError"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("WriteFILEError"); } for(c=1;c<=5;c++) { fscanf(IN,"%d",&t); o=fun(t); fprintf(OUT,"%d\n",o); } fclose(IN); fclose(OUT); } 答案: ---------------------- intsum,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"stdio.h" voidwwjt(); //函数功能: 求1-3+5-7+…-+n的值 intfun(intn) { inti,s=0,f=1;//i定义为循环变量,s为1-3+5-7+…-n的值 /**********Program**********/ /**********End**********/ returns; } main() { printf("%d",fun(101)); wwjt(); } voidwwjt() { FILE*IN,*OUT; inti,n; IN=fopen("in.dat","r"); if(IN==NULL) { printf("PleaseVerifyTheCurrentDir..ItMayBeChanged"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("PleaseVerifyTheCurrentDir..ItMayBeChanged"); } for(i=0;i<5;i++) { fscanf(IN,"%i",&n); fprintf(OUT,"%ld\n",fun(n)); } fclose(IN); fclose(OUT); } 答案: for(i=1;i<=n;i+=2) { s=s+i*f; f=-f; } 第6题(10.0分)题号: 357难度: 易第2章 /*----------------------------
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末 复习 试题