版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
...wd......wd......wd...A卷A卷2013—2014学年第2学期《计算机程序设计C〔2-2〕》期末考试试卷专业班级姓名学号开课系室计算机应用技术系考试日期2014年6月22日题号一二三总分得分阅卷人一、程序阅读题〔每空2分,共20分〕1.又是一年一度的毕业季,马上要离开校园踏上工作岗位的同学们在拍摄完照片之后,大家有了一个共同的想法——那就是在毕业前互换礼物。到了约定的日子,同学们带来的礼物琳琅满目,都不知道该如何交换了。于是,在经过讨论后一致决定,大家将n个礼物放在一起统一编号为1,2,……,n,并同时对该礼物的拥有者进展一样编号。交换的规则是:1号同学与n号同学的礼物互换,2号同学与n-1号同学的礼物互换,以此类推。请阅读下面程序并完成填空。#include<stdio.h>#defineN120+1intmain(){inta[N]={0},n,i,j,t;scanf("%d",&n);for(i=1;i<=n;i++){【1】;}for(i=1,【2】;【3】;i++,j--){t=a[i];a[i]=a[j];a[j]=t;}for(i=1;i<=n;i++){printf("%d",a[i]);}printf("\n");return0;}2.下面函数的功能是统计字符串substr在字符串str中出现的次数,请阅读下面程序段并完成填空。intcount(charstr[],charsubstr[]){inti,j,k,num=0;for(i=0;str[i]!='\0';i++){【4】;for(j=0;substr[j]!='\0';k++,j++){if(【5】){break;}}if(substr[j]=='\0'){num++;}}【6】;}3.在Windows操作系统中的“复制-粘贴-重命名〞功能,可以实现将文件从一个位置复制粘贴到另外一个位置。下面程序的功能实现的是将文本文件a.txt的内容复制到b.txt中,复制过程中要求将a.txt中的所有小写英文字母都转换成大写英文字母。请阅读下面程序并完成填空。#include<stdio.h>intmain(){【7】;charch,infile[20]="a.txt",outfile[20]="b.txt";if((in=fopen(infile,"r"))!=NULL&&(out=fopen(outfile,"w"))!=NULL){while(【8】){ch=fgetc(in);if(【9】)ch=ch-('a'-'A');【10】;}}fclose(in);fclose(out);return0;}二、程序改错题〔每处错误2分,共20分,请修改并且只能修改/************found************/的下一行,将完整的修改行填到后面答题页〕1.下面函数完成的功能是:将数组a中的n个无序整数从小到大排序。voidfun(intn,inta[]){inti,j,p,t;for(i=0;i<n-1;i++){/************found【1】************/p=0;for(j=i+1;j<n;j++)/************found【2】************/if(a[p]<a[j])/************found【3】************/t=j;if(p!=i){t=a[i];a[i]=a[p];a[p]=t;}}}2.程序通过定义学生构造体变量,存储了某一个学生的姓名和程序设计课程的成绩。函数fun的功能是对形参b所指构造体变量中的数据进展修改,由键盘输入修改后的姓名和成绩,最后在主函数中输出修改后的数据。#include<stdio.h>#include<string.h>structstudent{charname[20];intscore;};voidfun(structstudent*b){charname1[20];intscore1;printf("输入修改后的学生姓名和成绩:");/**********found【4】**********/scanf("%s%d",&name1,&score1);/**********found【5】**********/b->name=name1;b->score=score1;}intmain(){structstudentt={"ZhangWen",90};inti;/**********found【6】**********/fun(t);printf("Name:%sScore:%d\n",,t.score);return0;}3.函数fun的功能是将h所指的带有头结点的单向链表结点中数据域为偶数的值累加起来,并且作为函数值返回。intfun(NODE*h){/*************found【7】**************/intsum;NODE*p=h->next;/*************found【8】**************/while(p->next!=NULL){/*************found【9】**************/if(p->data%2==1)sum+=p->data;/*************found【10】**************/p=h->next;}returnsum;}三、程序设计题〔每题10分,共60分〕1.南门的树进入石油大学南大门,长度为L的马路东边有一排树,每两棵相邻的树之间的间隔都是1米。如果把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。由于马路上有一些区域要用来修建停车场。这些区域用它们在数轴上的起始点和终止点表示。任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的局部。现在要把这些区域中的树〔包括区域端点处的两棵树〕移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。输入输入的第一行有两个整数L〔1<=L<=1000〕和M〔1<=M<=10〕,L代表马路的长度,M代表区域的数目,L和M之间用一个空格隔开。接下来的M行每行包含两个不同的整数,用一个空格隔开,表示一个区域的起始点和终止点的坐标〔起始点坐标<终止点坐标〕。输出输出包括一行,这一行只包含一个整数,表示马路上剩余的树的数目。样例输入5003 150300 100200 470471样例输出2982.日期转换2014年是一个平年,农历甲午年,所属生肖马。2014年年历如以下列图现在2014年的第几天,计算出它是几月几日输入一个整数n,表示2014年的第几天。输出 输出对应的是几月几日。样例输入173样例输出6月22日#include<stdio.h>/*此处完成fun函数*/intmain(){intn,month,day;scanf("%d",&n);fun(n,&month,&day);printf("%d月%d日\n",month,day);return0;}3.A+BFormatDescriptionCalculatea+bandoutputthesuminstandardformat--thatis,thedigitsmustbeseparatedintogroupsofthreebycommas(unlesstherearelessthanfourdigits).InputEachlinecontainsapairofintegersaandb,where-1000000<=a,b<=1000000.Thenumbersareseparatedbyaspace.OutputForeachtestcase,youshouldoutputthesumofaandbinoneline.Thesummustbewritteninthestandardformat.SampleInput1-10000009SampleOutput1-999,991SampleInput210009SampleOutput21,009HintThesumwillnotbeequaltozero.4.回文百度百科中“把一样的词汇或句,在下文中调换位置或颠倒过来,产生首尾回环的情趣,叫做回文〞。例如:蜜蜂酿蜂蜜,风扇能扇风,奶牛产牛奶,清水池里池水清,静泉山上山泉,上海自来水来自海上,雾锁山头山锁雾,天连水尾水连天,院满春光春满院,门盈喜气喜盈门……现给定一字符串,你的任务是判断它是否是回文串,并按照指定格式输出。输入输入为一行字符串〔字符串中没有空白字符,字符串长度不超过80〕。输出假设是回文,则在字符之间插入‘*’,并输出;假设不是,则原样输出。样例输入1abcmcba样例输出1a*b*c*m*c*b*a样例输入2abcdefg样例输出2abcdefg5.BoxofBricksLittleBoblikesplayingwithhisboxofbricks.Heputsthebricksoneuponanotherandbuildsstacksofdifferentheight."Look,I'vebuiltawall!",hetellshisoldersisterAlice."Nah,youshouldmakeallstacksthesameheight.Thenyouwouldhavearealwall.",sheretorts.Afteralittleconsideration,Bobseesthatsheisright.Sohesetsouttorearrangethebricks,onebyone,suchthatallstacksarethesameheightafterwards.ButsinceBobislazyhewantstodothiswiththeminimumnumberofbricksmoved.Canyouhelp?InputTheinputconsistsoftwolines.ThefirstlinecontainsthenumbernofstacksBobhasbuilt.Thenextlinecontainsnnumbers,theheightshiofthenstacks.Youmayassume1≤n≤50,1≤hi≤100.Thetotalnumberofbrickswillbedivisiblebythenumberofstacks.Thus,itisalwayspossibletorearrangethebrickssuchthatallstackshavethesameheight.OutputPrinttheline"Theminimumnumberofmovesisk.",wherekistheminimumnumberofbricksthathavetobemovedinordertomakeallthestacksthesameheight.SampleInput6524175SampleOutputTheminimumnumberofmovesis5.6.学分绩《中国石油大学〔华东〕学生素质综合评价方法》中“综合评价是对学生德智体诸方面所作的全面的、系统的评价。目的是贯彻党的教育方针,引导全体学生“以学习为中心,走全面开展之路〞,充分调动学生的主管能动性,培养学生成为有理想、有道德、有文化、有纪律的社会主义建设者和接班人〞。并在学生素质综合评价体系中列举了指标内涵、权重设置、评价方法、等级标准。对于总成绩的计算方法,具体如下:其中:〔1〕Ii表示各门必修课、限选课的学分数;〔2〕Xi表示所学课程的百分制成绩;〔3〕Ni表示任意选修课的学分数;〔4〕成绩按所得的分数计算。输入第一行,一个整数T〔0<T<100〕,表示该学生的课程门数。接下来的T行,每行表示一门课程的信息。每门课程信息课程名,课程的百分制成绩,课程的学分数和课程的类别〔必修、限选、任选〕四项组成。输出该学生的学分绩,保存到小数点后面2位。样例输入3程序设计982必修英语803必修书法691任选样例输出87.41#include<stdio.h>#include<string.h>#defineM100typedefstructcourse{charname[30];//课程名intscore;//成绩intcredit;//学分chartype[10];//课程类别}COURSE;/*此处完成fun函数*/intmain(){intT,i;doubleave;COURSEs[M];scanf("%d",&T);for(i=0;i<T;i++){scanf("%s%d%d%s",s[i].name,&s[i].score,&s[i].credit,s[i].type);}ave=fun(s,T);printf("%.2f\n",ave);return0;}答案һ�������Ķ���1.a[i]=i2.j=n3.i<j4.k=i;5.substr[j]!=str[k]6.returnnum7.FILE*in,*out8.!feof(in)9.ch>='a'&&ch<='z'10.fputc(ch,out)//fprintf(out,"%c",ch)���������Ĵ���1.p=i;2.if(a[p]>a[j])3.p=j4.scanf("%s%d",name1,&score1);5.strcmp(b->name,name1);6.fun(&t);7.intsum=0;8.p!=NULL9.if(p->data%2==0)10.p=p->next;��������������1.���ŵ���#include<stdio.h>#defineL1000intmain(){inti,j,sum=0,treenum,casenum,tree[L]={0},p,q;scanf("%d%d",&treenum,&casenum);for(i=0;i<=treenum;i++)tree[i]=1;while(casenum--){scanf("%d%d",&p,&q);for(i=p;i<=q;i++){tree[i]=0;}}for(i=0;i<=treenum;i++)if(tree[i]==1)sum++;printf("%d\n",sum);return0;}2.����ת������һ��voidfun(intn,int*month,int*day){inti,a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};for(i=1;i<13;i++){n-=a[i];if(n<0){*month=i;break;}}*day=n+a[i];}��������voidfun(intn,int*m,int*d){intmonth[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};inti,s=0;for(i=1;i<13;i++){s+=month[i];if(n-s<=28){*m=i+1;*d=n-s;break;}}}��������voidfun(intn,int*m,int*d){intmonth[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};inti;for(i=1;i<13;i++){n-=month[i];if(n<=28){*m=i+1;*d=n;break;}}}3.A+Bformat����һ��#include<stdio.h>intmain(){inta,b,c;chars[10];inti=0,j;scanf("%d%d",&a,&b);c=a+b;if(c<0){c=-c;printf("-");}while(c){if((i+1)%4==0)s[i++]=',';s[i++]=c%10+'0';c=c/10;}s[i]='\0';for(j=i-1;j>=0;j--)printf("%c",s[j]);return0;}��������#include<stdio.h>intmain(){inta,b,sum,i=0,s[20],j;scanf("%d%d",&a,&b);sum=a+b;if(sum<0){printf("-");sum*=-1;}do{s[i]=sum%10;i++;sum/=10;}while(sum!=0);for(j=i-1;j>=0;j--){printf("%d",s[j]);if(j%3==0&&j!=0){printf(",");}}printf("\n");return0;}4.��������һ��#include<stdio.h>#include<string.h>#defineM80+1intHuiwen(chars[],intlen){inti,flag=1;for(i=0;i<=len/2;i++){if(s[i]!=s[len-1-i]){flag=0;break;}}returnflag;}intmain(){chars[M];inti,len;gets(s);len=strlen(s);if(Huiwen(s,len)){for(i=0;i<len-1;i++){printf("%c*",s[i]);}printf("%c\n",s[i]);}else{puts(s);}return0;}��������#include<stdio.h>#include<string.h>intmain(){charstr[100];inti,j,n;gets(str);n=strlen(str);for(i=0,j=n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民办培训机构自律制度
- 人员编制及培训制度
- 培训学校招生管理制度
- 欧莱雅员工培训制度
- 培训学校前台薪酬制度
- 理论培训教室制度
- 坚持实行集体培训制度
- 镇第一书记培训制度
- 员工疫情培训制度
- 给员工如何培训管理制度
- 上腔静脉综合征患者的护理专家讲座
- 免责协议告知函
- 部编版八年级上册语文《期末考试卷》及答案
- 医院信访维稳工作计划表格
- 蕉岭县幅地质图说明书
- 地下车库建筑结构设计土木工程毕业设计
- (完整word版)人教版初中语文必背古诗词(完整版)
- GB/T 2261.4-2003个人基本信息分类与代码第4部分:从业状况(个人身份)代码
- GB/T 16601.1-2017激光器和激光相关设备激光损伤阈值测试方法第1部分:定义和总则
- PDM结构设计操作指南v1
- 投资学-课件(全)
评论
0/150
提交评论