2022年程序设计试卷样卷已完成 .pdf
计算机程序设计C期末考试样卷专业班级姓名学号开课系室计算机应用技术系考试日期年月日题号一二三总分得分阅卷人名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 14 页 - - - - - - - - - 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 。#include int main() int x = 10,y = 3; printf(%dn,x/y); return 0; 4.设 i,j,k 均为 int 型变量,则执行完下面的for 循环后, k 的值为 10。for(i = 0,j = 10; i = j; i +,j -) k =i + j; 5. 水仙花数是指一个三位数的各位数字的立方和是这个数本身,请阅读下面程序并完成填空。#include int fun(int n) int i,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) ; else return 0; int main() int i; for(i = 100; i 1000; i +) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 14 页 - - - - - - - - - 2 if( fun(i) = 1) printf(%d is ok!n ,i); return 0; 6. 程序功能是:从键盘输入一行字符,将其中的所有数字字符转换为按先后顺序排列的一个整数。例如,输入的一行字符为“a2b0D04” ,输入结果为整数2004,请补充完整程序。#include int main() int n = 0; char ch; ch = getchar(); while(ch != n) if( ch= 1) n = n * 10 + ch - 0; ch = getchar(); printf(value = %dn,n); return 0; 7.有以下程序#include int sub(int n) return (n/10 + n%10); int main() int x,y; scanf(%d,&x); y = sub(sub(sub(x); printf(%dn,y); return 0; 若运行时输入: 1234,程序的输出结果是10。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 14 页 - - - - - - - - - 3 二、程序改错题(每处错误2 分,共20 分,请修改并且只能修改/*found*/的下一行)1.下面这段代码是让计算机计算a和 b的积。#include /*found【1】*/ int mian( ) 改int main() /*found【2】*/ int a,b,c; 改double a,b,c; scanf(%lf%lf,&a,&b); /*found【3】*/ printf(%Fn,c); 改printf(%lfn,c); return 0; 2.下面这段代码求 m 和 n 的最大公约数。#include int main() int m,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( 最大公约数是 :%dn,r); 改printf( 最大公约数是 :%dn,m); return 0; 3.下面这段代码是用来求1+1/1+1/2+1/3+,+1/n。#include /*found【8】*/ int Fun(int n) 改 double Fun(int n) int i; /*found【9】*/ double sum = 0.0; 改double sum = 1.0; for(i = 1;i = n;i +) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 14 页 - - - - - - - - - 4 /*found【10】*/ sum = sum + 1 /(double) i; return sum; int main() int n; scanf(%d,&n); printf(1+1/1+1/2+1/3+.+1/n = %fn,Fun(n); return 0; 三、程序设计题(每题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 的结果。样例输入35 80 样例输出15 int main() int a,b; scanf(“ %d%d” ,&a,&b); a=a%100; b=b%100; c=(a+b)%100; printf( “%dn” ,c); return 0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 14 页 - - - - - - - - - 5 2星期几输入今天是星期几的序号(星期天的序号为0) ,输出明天是星期几的英文单词。周日到周六的英文表示: Sun,Mon,Tue,Wed,Thu,Fri,Sat 输入一个整数( 0-6)输出所表示的英文样例输入0 样例输出Mon int main() int day; scanf(%d,&day); switch(day) case 0:printf(Monn); break; case 1:printf(Tuen); break; case 2:printf(Wedn); break; case 3:printf(Turn); break; case 4:printf(Frin); break; case 5:printf(Satn); break; case 6:printf(Sunn); break; return 0; 3ASCII Since all we know the ASCII code, your job is simple: input numbers and output corresponding messages. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 14 页 - - - - - - - - - 6 Input The first line contains one integer T (1=T=1000). The input will contain T positive integers separated by whitespaces . The integers will be no less than 32. OutputOutput the corresponding message in just one line. Warning: no extra characters are allowed. Sample Input 19 87 101 108 99 111 109 101 32 116 111 32 65 67 77 32 67 108 117 98 Sample Output Welcome to ACM Club Hint Character ASCII code A 65 a 97 Whitespace 32 int main() int n,i,a; char ch; scanf(%d,&n); for(i=1;i=n;i+) scanf(%d,&a); ch=a; printf(%c,ch); printf(n); 4数校庆纪念品六十载弦歌不辍,一甲子薪火相传。2013 年 10 月,中国石油大学迎来了60 周年华诞。校庆期间对每位荣归母校的校友都将提供一份完全立方体包装的纪念品,志愿者将其堆放在墙角,具体堆放形状如下图所示:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 14 页 - - - - - - - - - 7 因为纪念品堆得实在是太有规律了, 你只要知道它的层数就可以计算所有纪念品的数量了。输入输入数据只有一个整数n,表示这堆纪念品的层数(1=n=100)。输出一个整数,表示这堆纪念品的总数量。样例输入5 样例输出35 #include main() int i,n,p=0,q=0; scanf(%d,&n); for(i=1;i=n;i+) p=p+i; q=q+p; printf(%dn,q); return 0; 5电梯正在建设的工科楼 E 座将会成为校内最高建筑, 假设该建筑内只有一个电梯。 现在有一个由 N 个正整数组成的请求列表,每个数字表明了电梯将依次停留的楼层顺序。电梯每上行 1 层将花费 6 秒,下行 1 层将花费 4 秒。电梯在每一层停留一次, 将花费 5秒。对于一个给定的请求列表, 请计算出按照顺序途径每一层楼所花费的总时间。电梯一开始停留在第0 层,并且在完成请求队列之后不需要返回地面(第0 层) 。输入输入共 2 行。第一行为一个正整数N,表示请求队列中需要经过的楼层数目;第二行为 N 个正整数,表示电梯依次经过的楼层数,每个数都少于30。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 14 页 - - - - - - - - - 8 输出花费的总时间样例输入3 2 3 1 样例输出41 #include int main() int i,m,n,p=0,q=0; scanf(%d,&m); for(i=1;ip) q=q+6*(n-p)+5; else q=q+4*(p-n)+5; p=n; printf(%dn,q); return 0; 6吃巧克力2013年 12 月 8 日,ACM 俱乐部的小武代表学校参加了在吉林大学举办的第38 届ACM国际大学生程序设计竞赛现场赛,返校时带了一盒好吃又精美的巧克力给滨滨(盒内共有N 块巧克力, 20 N 0)。小武告诉滨滨每天可以吃一块或者两块巧克力。假设滨滨每天都吃巧克力, 问滨滨共有多少种不同的吃完巧克力的方案。例如:如果 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 页,共 14 页 - - - - - - - - - 9 一个正整数 N。输出滨滨吃巧克力的方案数目。样例输入4 样例输出5 #include /*在下面完成 Func 函数,答题纸上只需要写Func 函数即可 */ int main( ) int n; scanf(%d,&n); printf( 总共有 %d 种方案 n,Func(n); return 0; #include int Func(int n) if(n=1) return 1; else if(n=2) return 2; else return(Func(n-1)+Func(n-2); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 14 页 - - - - - - - - - 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 页,共 14 页 - - - - - - - - - 11 三、 程序设计题(每处10 分,共 60 分)1. 2. 得分名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 14 页 - - - - - - - - - 12 3. 4. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 14 页 - - - - - - - - - 13 5. 6. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 14 页 - - - - - - - - -