您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 程序设计(C)试卷样卷已完成
《计算机程序设计C》期末考试样卷专业班级姓名学号开课系室计算机应用技术系考试日期年月日题号一二三总分得分阅卷人1一、程序阅读题(每空2分,共20分)1.若想通过以下输入语句给a赋值1,给b赋值2,则输入数据的形式应该是1,2。scanf(%d,%d,&a,&b);2.如果a和b的值分别为20和10,下列语句printf(%d+%d=%d,a,b,a+b);输出到屏幕上的结果是20+10=30。3.下面程序的输出结果为3。#includestdio.hintmain(){intx=10,y=3;printf(%d\n,x/y);return0;}4.设i,j,k均为int型变量,则执行完下面的for循环后,k的值为10。for(i=0,j=10;i=j;i++,j--)k=i+j;5.水仙花数是指一个三位数的各位数字的立方和是这个数本身,请阅读下面程序并完成填空。#includestdio.hintfun(intn){inti,j,k,m;m=n;k=0;while(m){j=m%10;m=m/10;k=k+j*j*j;}if(k==n)return(1);elsereturn0;}intmain(){inti;for(i=100;i1000;i++){2if(fun(i)==1){printf(%disok!\n,i);}}return0;}6.程序功能是:从键盘输入一行字符,将其中的所有数字字符转换为按先后顺序排列的一个整数。例如,输入的一行字符为“a2b0D04”,输入结果为整数2004,请补充完整程序。#includestdio.hintmain(){intn=0;charch;ch=getchar();while(ch!='\n'){if(ch=’10’&&ch=’1’){n=n*10+ch-'0';}ch=getchar();}printf(value=%d\n,n);return0;}7.有以下程序#includestdio.hintsub(intn){return(n/10+n%10);}intmain(){intx,y;scanf(%d,&x);y=sub(sub(sub(x)));printf(%d\n,y);return0;}若运行时输入:1234回车,程序的输出结果是10。3二、程序改错题(每处错误2分,共20分,请修改并且只能修改/************found************/的下一行)1.下面这段代码是让计算机计算a和b的积。#includestdio.h/**********found【1】**********/intmian()改intmain(){/**********found【2】**********/inta,b,c;改doublea,b,c;scanf(%lf%lf,&a,&b);/**********found【3】**********/printf(%F\n,c);改printf(%lf\n,c);return0;}2.下面这段代码求m和n的最大公约数。#includestdio.hintmain(){intm,n,r;/**********found【4】**********/scanf(%d%d,m,n);改scanf(%d%d,&m,&n);do{/**********found【5】**********/r=m/n;改r=m%n;m=n;n=r;/**********found【6】**********/}while(r==0);改}while(r!=0);/**********found【7】**********/printf(最大公约数是:%d\n,r);改printf(最大公约数是:%d\n,m);return0;}3.下面这段代码是用来求1+1/1+1/2+1/3+…+1/n。#includestdio.h/**********found【8】**********/intFun(intn)改doubleFun(intn){inti;/**********found【9】**********/doublesum=0.0;改doublesum=1.0;for(i=1;i=n;i++)4{/**********found【10】**********/sum=sum+1/(double)i;}returnsum;}intmain(){intn;scanf(%d,&n);printf(1+1/1+1/2+1/3+...+1/n=%f\n,Fun(n));return0;}三、程序设计题(每题10分,共60分)1.小明A+B小明今年3岁了,现在他已经能够认识100以内的非负整数,并且能够进行100以内的非负整数的加法计算。对于大于等于100的整数,小明仅保留该数的最后两位进行计算。如果计算结果大于等于100,那么小明也仅保留计算结果的最后两位。例如,对于小明来说:1)1234和34是相等的。2)35+80=15。现给定非负整数A和B,你的任务是代表小明计算出A+B的值。输入一行,包含两个非负整数A和B(A和B均在int类型可表示的范围内)。输出输出小明A+B的结果。样例输入3580样例输出15intmain(){inta,b;scanf(“%d%d”,&a,&b);a=a%100;b=b%100;c=(a+b)%100;printf(“%d\n”,c);return0;5}2.星期几输入今天是星期几的序号(星期天的序号为0),输出明天是星期几的英文单词。周日到周六的英文表示:Sun,Mon,Tue,Wed,Thu,Fri,Sat输入一个整数(0-6)输出所表示的英文样例输入0样例输出Monintmain(){intday;scanf(%d,&day);switch(day){case0:printf(Mon\n);break;case1:printf(Tue\n);break;case2:printf(Wed\n);break;case3:printf(Tur\n);break;case4:printf(Fri\n);break;case5:printf(Sat\n);break;case6:printf(Sun\n);break;}return0;}3.ASCIISinceallweknowtheASCIIcode,yourjobissimple:inputnumbersandoutputcorrespondingmessages.6InputThefirstlinecontainsoneintegerT(1=T=1000).TheinputwillcontainTpositiveintegersseparatedbywhitespaces.Theintegerswillbenolessthan32.OutputOutputthecorrespondingmessageinjustoneline.Warning:noextracharactersareallowed.SampleInput1987101108991111091013211611132656777326710811798SampleOutputWelcometoACMClubHintCharacterASCIIcodeA65a97Whitespace32intmain(){intn,i,a;charch;scanf(%d,&n);for(i=1;i=n;i++){scanf(%d,&a);ch=a;printf(%c,ch);}printf(\n);}4.数校庆纪念品六十载弦歌不辍,一甲子薪火相传。2013年10月,中国石油大学迎来了60周年华诞。校庆期间对每位荣归母校的校友都将提供一份完全立方体包装的纪念品,志愿者将其堆放在墙角,具体堆放形状如下图所示:7因为纪念品堆得实在是太有规律了,你只要知道它的层数就可以计算所有纪念品的数量了。输入输入数据只有一个整数n,表示这堆纪念品的层数(1=n=100)。输出一个整数,表示这堆纪念品的总数量。样例输入5样例输出35#includestdio.hmain(){inti,n,p=0,q=0;scanf(%d,&n);for(i=1;i=n;i++){p=p+i;q=q+p;}printf(%d\n,q);return0;}5.电梯正在建设的工科楼E座将会成为校内最高建筑,假设该建筑内只有一个电梯。现在有一个由N个正整数组成的请求列表,每个数字表明了电梯将依次停留的楼层顺序。电梯每上行1层将花费6秒,下行1层将花费4秒。电梯在每一层停留一次,将花费5秒。对于一个给定的请求列表,请计算出按照顺序途径每一层楼所花费的总时间。电梯一开始停留在第0层,并且在完成请求队列之后不需要返回地面(第0层)。输入输入共2行。第一行为一个正整数N,表示请求队列中需要经过的楼层数目;第二行为N个正整数,表示电梯依次经过的楼层数,每个数都少于30。8输出花费的总时间样例输入3231样例输出41#includestdio.hintmain(){inti,m,n,p=0,q=0;scanf(%d,&m);for(i=1;i=m;i++){scanf(%d,&n);if(np)q=q+6*(n-p)+5;elseq=q+4*(p-n)+5;p=n;}printf(%d\n,q);return0;}6.吃巧克力2013年12月8日,ACM俱乐部的小武代表学校参加了在吉林大学举办的第38届ACM国际大学生程序设计竞赛现场赛,返校时带了一盒好吃又精美的巧克力给滨滨(盒内共有N块巧克力,20N0)。小武告诉滨滨每天可以吃一块或者两块巧克力。假设滨滨每天都吃巧克力,问滨滨共有多少种不同的吃完巧克力的方案。例如:如果N=1,则滨滨第1天就吃掉它,共有1种方案;如果N=2,则滨滨可以第1天吃1块,第2天吃1块;也可以第1天吃2块,共有2种方案;如果N=3,则滨滨第1天可以吃1块,剩2块;也可以第1天吃2块剩1块,共有2+1=3种方案;如果N=4,则滨滨可以第1天吃1块,剩3块;也可以第1天吃2块,剩2块,共有3+2=5种方案。输入9一个正整数N。输出滨滨吃巧克力的方案数目。样例输入4样例输出5#includestdio.h/*在下面完成Func函数,答题纸上只需要写Func函数即可*/intmain(){intn;scanf(%d,&n);printf(总共有%d种方案\n,Func(n));return0;}#includestdio.hintFunc(intn){if(n==1)return1;elseif(n==2)return2;elsereturn(Func(n-1)+Func(n-2));}10答题页一、程序阅读题(每空2分,共20分)1.2.3.4.5.6.7.8.9.10.二、程序改错题(每处2分,共20分)1.2.3.4.5.6.7.8.9.10.得分得分11三、程序设计题(每处10分,共60分)1.2.得分123.4.135.6.
本文标题:程序设计(C)试卷样卷已完成
链接地址:https://www.777doc.com/doc-2238062 .html