分享
分销 收藏 举报 申诉 / 92
播放页_导航下方通栏广告

类型C语言期末复习试题.doc

  • 上传人:二***
  • 文档编号:4571601
  • 上传时间:2024-09-30
  • 格式:DOC
  • 页数:92
  • 大小:231KB
  • 下载积分:5 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    语言 期末 复习 试题
    资源描述:
    . . 试卷编号:10767 所属语言:C语言 试卷方案:TC_4 试卷总分:570分 共有题型:1种 一、程序设计共57题〔共计570分〕 第1题〔10.0分〕题号:374 难度:易第2章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:编写函数实现两个数据的交换,在主函数中输入任 意三个数据,调用函数对这三个数据从大到小排序。 ------------------------------------------------*/ #include<stdio.h> void wwjt(); void swap(int *a,int *b) { /**********Program**********/ /********** End **********/ } main() { int x,y,z; scanf("%d%d%d",&x,&y,&z); if(x<y)swap(&x,&y); if(x<z)swap(&x,&z); if(y<z)swap(&y,&z); printf("%3d%3d%3d",x,y,z); wwjt(); } void wwjt() { FILE *IN,*OUT; int m,n; int i[2]; 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;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); } 答案:---------------------- int k; k=*a; *a=*b; *b=k; ---------------------- 第2题〔10.0分〕题号:381 难度:易第2章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:求一批数中小于平均值的数的个数。 ------------------------------------------------*/ #include<stdio.h> void wwjt(); int average_num(int a[],int n) { /**********Program**********/ /********** End **********/ } main() { int n,a[100],i,num; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i]); num=average_num(a,n); printf("the num is:%d\n",num); wwjt(); } void wwjt() { FILE *IN,*OUT; int n; int i[10]; 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;n<5;n++) { fscanf(IN,"%d",&i[n]); } o=average_num(i,5); fprintf(OUT,"%d\n",o); fclose(IN); fclose(OUT); } 答案:---------------------- int i,sum=0,k=0; double average; for(i=0;i<n;i++) sum=sum+a[i]; average=sum*1.0/n; for(i=0;i<n;i++) if(average>a[i]) k++; return(k); ---------------------- 第3题〔10.0分〕题号:406 难度:易第2章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:编写函数fun求1000以内所有7的倍数之和。 ------------------------------------------------*/ #define N 1000 #include <stdio.h> void wwjt(); int fun(int m) { /**********Program**********/ /********** End **********/ } void main() { int sum; sum=fun(7); printf("%d以内所有%d的倍数之和为:%d\n",N,7,sum); wwjt(); } void wwjt() { FILE *IN,*OUT; int n; int i[10]; int o; OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("Write FILE Error"); } o = fun(6); fprintf(OUT,"%d\n",o); fclose(IN); fclose(OUT); } 答案:---------------------- int s=0,i; for(i=1;i<N;i++) if(i%m==0) s+=i; return s; ---------------------- 第4题〔10.0分〕题号:324 难度:易第2章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:能计算从1开场到n的自然数中偶数的平方的和,n由 键盘输入,并在main()函数中输出。〔n是偶数〕 ------------------------------------------------*/ #include <stdio.h> void wwjt(); int fun(int n) { /**********Program**********/ /********** End **********/ } main() { int m; printf("Enter m: "); scanf("%d", &m); printf("\nThe result is %d\n", fun(m)); wwjt(); } void wwjt() { FILE *IN,*OUT; int t; int o; int c; 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,"%d\n",o); } 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"stdio.h" 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("%d",fun(101)); wwjt(); } void wwjt() { FILE *IN,*OUT; int i,n; IN=fopen("in.dat","r"); if(IN==NULL) { printf("Please Verify The Current Dir..It May Be Changed"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("Please Verify The Current Dir.. It May Be Changed"); } 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章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:根据整型形参m,计算如下公式的值: y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5) 例如:假设m=9,那么应输出:1.168229 ------------------------------------------------*/ #include <stdio.h> void wwjt(); double fun(int m) { /**********Program**********/ /********** End **********/ } main() { int n; printf("Enter n: "); scanf("%d", &n); printf("\nThe result is %1f\n", fun(n)); wwjt(); } void wwjt() { FILE *IN,*OUT; int i ; int t; double 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;i<5;i++) { fscanf(IN,"%d",&t); o=fun(t); fprintf(OUT,"%f\n",o); } 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 难度:中第2章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:求一批数中最大值和最小值的积。 ------------------------------------------------*/ #define N 30 #include "stdlib.h" #include <stdio.h> void wwjt(); int max_min(int a[],int n) { /**********Program**********/ /********** End **********/ } main() { int a[N],i,k; for(i=0;i<N;i++) a[i]=random(51)+10; for(i=0;i<N;i++) { printf("%5d",a[i]); if((i+1)%5==0) printf("\n"); } k=max_min(a,N); printf("the result is:%d\n",k); wwjt(); } void wwjt() { FILE *IN,*OUT; int n; int i[10]; 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;n<10;n++) { fscanf(IN,"%d",&i[n]); } o=max_min(i,10); fprintf(OUT,"%d\n",o); fclose(IN); fclose(OUT); } 答案:---------------------- int i,max,min; max=min=a[0]; for(i=1;i<n;i++) if(a[i]>max) max=a[i]; else if(a[i]<min) min=a[i]; return(max*min); ---------------------- 第8题〔10.0分〕题号:342 难度:中第2章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:在键盘上输入一个3行3列矩阵的各个元素的值〔值 为整数〕,然后输出矩阵第一行与第三行元素之和, 并在fun()函数中输出。 ------------------------------------------------*/ #include <stdio.h> void wwjt(); 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("%d",&a[i][j]); } s=fun(a); printf("Sum=%d\n",s); wwjt(); } void wwjt() { FILE *IN,*OUT; int m; int n; int i[3][3]; 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(m=0;m<3;m++) { for(n=0;n<3;n++) fscanf(IN,"%d",&i[m][n]); } o=fun(i); { fprintf(OUT,"%d\n",o); 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 <stdio.h> void wwjt(); int fun(int n) { /**********Program**********/ /********** End **********/ } main() { int k; k=fun(1234); printf("k=%d\n",k); wwjt(); } void wwjt() { FILE *IN,*OUT; int iIN,iOUT,i; 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"); } for(i=0;i<5;i++) { fscanf(IN,"%d",&iIN); iOUT=fun(iIN); fprintf(OUT,"%d\n",iOUT); } fclose(IN); fclose(OUT); } 答案:---------------------- int d,s=0; while (n>0) {d=n%10; s+=d*d*d; n/=10; } return s; ---------------------- 第10题〔10.0分〕题号:502 难度:中第20章 #include <stdio.h> /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目:用while语句求1~100的累计和。 -------------------------------------------------------*/ void wwjt(); int fun(int n) { /**********Program**********/ /********** End **********/ } void main() { int sum = 0; sum=fun(100); printf ("sum = %d\n", sum); wwjt(); } void wwjt() { FILE *IN,*OUT; int i; int iIN,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"); } for(i=0;i<5;i++) { fscanf(IN,"%d",&iIN); iOUT=fun(iIN); fprintf(OUT,"%d\n",iOUT); } fclose(IN); fclose(OUT); } 答案: int i=1,sum=0; while(i<=n) { sum=sum+i; i++; } return sum; 第11题〔10.0分〕题号:53 难度:中第1章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:求一个四位数的各位数字的立方和 ------------------------------------------------*/ #include <stdio.h> void wwjt(); int fun(int n) { /**********Program**********/ /********** End **********/ } main() { int k; k=fun(1234); printf("k=%d\n",k); wwjt(); } void wwjt() { FILE *IN,*OUT; int iIN,iOUT,i; IN=fopen("22.IN","r"); if(IN==NULL) { printf("Please Verify The Currernt Dir..it May Be Changed"); } OUT=fopen("22.out","w"); if(OUT==NULL) { printf("Please Verify The Current Dir.. it May Be Changed"); } for(i=0;i<10;i++) { fscanf(IN,"%d",&iIN); iOUT=fun(iIN); fprintf(OUT,"%d\n",iOUT); } fclose(IN); fclose(OUT); } 答案:---------------------- int d,k,s=0; while (n>0) {d=n%10; s+=d*d*d; n/=10; } return s; ---------------------- 第12题〔10.0分〕题号:409 难度:易第20章 /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目:输入华氏温度求摄氏温度。转换公式为 c=5/9〔f-32〕, 输出结果取两位小数。 -------------------------------------------------------*/ #include <stdio.h> void wwjt(); double fun(double m) { /**********Program**********/ /********** End **********/ } void main() { double c,f; printf("请输入一个华氏温度:"); scanf("%f",&f); c=fun(f); printf("摄氏温度为:%5.2f\n",c); wwjt(); } void wwjt() { FILE *IN,*OUT; int i; double iIN,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"); } for(i=0;i<5;i++) { fscanf(IN,"%f",&iIN); iOUT=fun(iIN); fprintf(OUT,"%f\n",iOUT); } 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 <stdio.h> void wwjt(); void fun(int a, int b, long *c) { /**********Program**********/ /********** End **********/ } main() { int a,b; long c; printf("input a, b:"); scanf("%d%d", &a, &b); fun(a, b, &c); printf("The result is: %ld\n", c); wwjt(); } void wwjt ( ) { FILE *rf, *wf ; int i, a,b ; long c ; rf = fopen("in.dat", "r") ; wf = fopen("out.dat","w") ; for(i = 0 ; i < 10 ; i++) { fscanf(rf, "%d,%d", &a, &b) ; fun(a, b, &c) ; fprintf(wf, "a=%d,b=%d,c=%ld\n", a, b, c) ; } fclose(rf) ; fclose(wf) ; } 答案:---------------------- *c=a/10*1000+a%10*10+b/10+b%10*100; ---------------------- 第14题〔10.0分〕题号:335 难度:中第2章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:求一个n位自然数的各位数字的积。〔n 是小于10的 自然数〕 ------------------------------------------------*/ #include <stdio.h> #include"conio.h" void wwjt(); long fun(long n) { /**********Program**********/ /********** End **********/ } main() { long m; printf("Enter m: "); scanf("%ld", &m); printf("\nThe result is %ld\n", fun(m)); wwjt(); } void wwjt() { FILE *IN,*OUT; int c ; long t; lon
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:C语言期末复习试题.doc
    链接地址:https://www.zixin.com.cn/doc/4571601.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork