《程序设计与算法综合实践》期末大作业题目及评分标准
- 格式:docx
- 大小:42.82 KB
- 文档页数:19
程序设计期末试题及答案1. 题目描述假设有一个学生成绩管理系统,具有以下功能:- 添加学生信息- 修改学生信息- 删除学生信息- 查询学生信息- 统计学生人数- 计算学生平均分请你设计一个基于面向对象编程思想的学生成绩管理系统。
2. 解题思路首先,我们需要定义一个Student类,该类包含以下属性:- 学生姓名- 学生学号- 学生成绩可以使用构造函数初始化这些属性,同时提供设置和获取属性值的方法。
接下来,我们需要设计一个ManageSystem类,该类用于实现学生成绩管理系统的各种功能。
我们可以将学生信息存储在一个列表中,通过列表的操作来实现添加、修改、删除和查询学生信息的功能。
具体来说,ManageSystem类需要实现以下方法:- 添加学生信息:接受学生姓名、学号和成绩作为参数,创建一个Student对象并将其添加到学生列表中。
- 修改学生信息:接受学生学号和新的学生信息作为参数,遍历学生列表,找到对应学号的学生对象并修改其属性值。
- 删除学生信息:接受学生学号作为参数,遍历学生列表,找到对应学号的学生对象并从列表中删除。
- 查询学生信息:接受学生学号作为参数,遍历学生列表,找到对应学号的学生对象并返回其属性值。
- 统计学生人数:返回学生列表的长度。
- 计算学生平均分:遍历学生列表,累加每个学生的成绩,并返回总成绩除以学生人数的结果。
3. 代码实现```pythonclass Student:def __init__(self, name, student_id, score): = nameself.score = scoredef get_name(self):return def get_student_id(self):return self.student_iddef get_score(self):return self.scoredef set_name(self, name): = namedef set_student_id(self, student_id):self.student_id = student_iddef set_score(self, score):self.score = scoreclass ManageSystem:def __init__(self):self.students = []def add_student(self, name, student_id, score): student = Student(name, student_id, score)def modify_student(self, student_id, name=None, score=None): for student in self.students:if student.get_student_id() == student_id:if name:student.set_name(name)if score:student.set_score(score)def delete_student(self, student_id):for student in self.students:if student.get_student_id() == student_id:self.students.remove(student)def query_student(self, student_id):for student in self.students:if student.get_student_id() == student_id:return studentdef count_students(self):return len(self.students)def calculate_average_score(self):total_score = 0for student in self.students:total_score += student.get_score()return total_score / len(self.students)```4. 程序使用示例```python# 创建学生成绩管理系统对象system = ManageSystem()# 添加学生信息system.add_student("张三", "001", 80)system.add_student("李四", "002", 90)system.add_student("王五", "003", 85)# 修改学生信息system.modify_student("002", name="赵六", score=95) # 删除学生信息system.delete_student("001")# 查询学生信息student = system.query_student("003")print(student.get_name()) # 输出:王五# 统计学生人数count = system.count_students()print(count) # 输出:2# 计算学生平均分average_score = system.calculate_average_score()print(average_score) # 输出:90.0```5. 总结通过以上设计和实现,我们可以得到一个基于面向对象编程思想的学生成绩管理系统。
程序设计实践教程习题及答案程序设计实践是计算机科学与技术领域中一门重要的课程,通过实践项目来培养学生的程序设计能力。
本文将为大家提供一些程序设计实践的习题,并附上详细的答案,旨在帮助读者更好地理解和掌握程序设计的技巧与方法。
习题一:计算斐波那契数列要求:编写一个程序,计算斐波那契数列的前n项,并输出结果。
答案:```pythondef fibonacci(n):if n <= 0:return []elif n == 1:return [1]elif n == 2:return [1, 1]else:fib = [1, 1]for i in range(2, n):fib.append(fib[i-1] + fib[i-2])return fibn = int(input("请输入要计算的斐波那契数列的项数:"))result = fibonacci(n)print(result)```习题二:判断素数要求:编写一个程序,判断一个数是否为素数,并输出结果。
答案:```pythondef is_prime(num):if num < 2:return Falsefor i in range(2, int(num**0.5)+1):if num % i == 0:return Falsereturn Truenum = int(input("请输入一个数:"))if is_prime(num):print(num, "是素数")else:print(num, "不是素数")```习题三:求解最大公约数和最小公倍数要求:编写一个程序,输入两个整数,求解它们的最大公约数和最小公倍数,并输出结果。
答案:```pythondef gcd(a, b):while b:a, b = b, a % breturn adef lcm(a, b):return a * b // gcd(a, b)num1 = int(input("请输入第一个整数:"))num2 = int(input("请输入第二个整数:"))result_gcd = gcd(num1, num2)result_lcm = lcm(num1, num2)print("最大公约数是:", result_gcd)print("最小公倍数是:", result_lcm)```习题四:字符串逆序要求:编写一个程序,将输入的字符串逆序输出。
重庆邮电大学2014-2015学年1学期C语言程序设计试卷(期末)(A卷)(闭卷)参考答案及评分细则(计算机科学与技术、信息安全卓越工程师班)一、基础知识测试题(本大题共15小题,每小题4分,共60分)二、编程题(本大题共3小题,共40分)1 (8分)#include <stdio.h>void main() (1分) { int i,j,k,count=0; (1分) for(i=1;i<=10;i++) (1分)for(j=1;j<=20;j++) (1分){ k=50-i-j; (1分)if(i*10+j*5+k==100) (1分){ count++; printf("10元%d张,5元%d张,1元%d张\n",i,j,k); (1分)}}printf("总共有%d种方案\n",count); (1分) }C语言程序设计试卷参考答案及评分细则第1页(共2页)2(12分,自定义函数8分,主函数4分)#include <stdio.h>int BePalindrome(char *str) (1分) { char *p,*q; (1分) p=q=str;while(*q) q++; (1分)q--;while(p<q) (2分){ if(*p!=*q) (1分)return 0;p++; (1分)q--;}return 1; (1分) }void main() (1分) { char a[80]; (1分) printf("Input a string:");gets(a); (1分)if(BePalindrome(a)) (1分)printf("是回文!\n");elseprintf("不是回文!\n");}3(20分)#include <stdio.h>#include <stdlib.h>#define N 30#define M 10typedef struct Player (2分){ int id;char name[10];float score;}PLAYER;void main() (1分){ PLAYER users[N]; (1分)int i,j;float m,s;FILE *fp; (1分)//输入评委打分printf("Please input user's score:\n");for(i=0;i<N;i++) (2分){ printf("Input id and name:"); (1分)scanf("%d%s",&users[i].id,users[i].name);printf("Input %d scores:",M);for(j=0,s=0;j<M;j++) (1分){ scanf("%f",&m);s+=m;}users[i].score=s/M; (1分)}//排序for(i=0;i<N-1;i++) (2分)for(j=i;j<N;j++) (2分)if(users[i].score<users[j].score) (1分){ PLAYER t;t=users[i];users[i]=users[j];users[j]=t;}//输出前三名到文件fp=fopen("result.txt","w"); (1分)if(fp==NULL) (1分){printf("error!\n");exit(0);}for(i=0;i<3;i++) (2分){fprintf(fp,"No.%d:%d %s %.2f\n",i+1,users[i] .id,users[i].name,users[i].score);}fclose(fp); (1分)}C语言程序设计试卷参考答案及评分细则第2页(共2页)C语言程序设计试卷参考答案及评分细则第3页(共2页)。
大一c程序设计期末考试题及答案在本次大一C程序设计的期末考试中,我们精心准备了以下题目,旨在考察同学们对C语言基础知识的掌握程度以及编程能力。
以下是考试题目及参考答案。
一、选择题(每题2分,共20分)1. C语言中,哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:A2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable-nameC. _variableD. variable$name答案:C3. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A4. 若有以下代码片段:```cint a = 5;int b = 10;a = b;```执行后,变量a的值是多少?A. 5B. 10C. 15D. 0答案:B5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. 以上都是答案:D6. C语言中,哪个函数用于输入字符?A. scanf()B. printf()C. getchar()D. getc()答案:C7. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. do-while8. 在C语言中,哪个关键字用于定义数组?A. arrayB. listC. vectorD. int[]答案:D9. 下列哪个选项是C语言中的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello" "World"D. 'Hello' 'World'答案:A10. 在C语言中,哪个函数用于输出格式化的字符串?A. printf()B. scanf()C. sprintf()D. fprintf()答案:A二、填空题(每空2分,共20分)1. 在C语言中,使用____关键字可以定义一个函数。
程序设计大作业评分标准一、功能实现(40 分)1、核心功能完整性(20 分)作业要求的主要功能是否全部实现,这是最基本也是最重要的考量点。
如果关键功能缺失,会严重影响得分。
功能的实现是否准确无误,能否按照预期的逻辑和规则正常运行。
2、功能拓展与优化(10 分)除了基本功能外,是否有额外的功能拓展,以展示学生的创新和深入思考能力。
对已实现的功能是否进行了优化,提高程序的性能和效率。
3、功能的实用性(10 分)所实现的功能在实际应用场景中是否具有价值和实用性。
是否考虑了用户的需求和使用习惯,使程序具有良好的用户体验。
二、代码质量(30 分)1、代码规范(10 分)变量和函数的命名是否清晰、具有描述性,便于理解代码的逻辑和功能。
代码的排版是否整齐、有良好的缩进,增强代码的可读性。
2、代码结构(10 分)程序是否采用了合理的架构和模块化设计,各模块之间的职责划分是否明确,便于维护和扩展。
代码的逻辑是否清晰,是否避免了复杂和混乱的控制流。
3、代码效率(10 分)对于算法和数据结构的选择是否合理,是否能够有效地利用系统资源,提高程序的运行速度。
是否避免了不必要的重复计算和内存浪费。
三、文档撰写(15 分)1、需求分析(5 分)清晰地阐述程序的需求和目标,包括用户的需求、功能要求和性能要求等。
2、设计文档(5 分)详细描述程序的总体设计、模块设计、数据结构设计和算法设计等,使读者能够理解程序的架构和实现思路。
3、测试文档(5 分)提供充分的测试用例和测试结果,证明程序的功能正确性和稳定性。
四、创新性(10 分)1、技术创新(5 分)是否采用了新的技术、算法或框架,以提高程序的性能或实现独特的功能。
2、思路创新(5 分)在解决问题的思路和方法上是否有独特的见解和创新,展现出与众不同的思考方式。
五、团队协作(5 分)(如果是团队作业)1、分工合理性(2 分)团队成员之间的任务分工是否明确、合理,是否充分发挥了每个成员的优势。
算法设计与分析期末成绩考核标准要求:算法设计与分析考试方式为小论文形式。
下面给出了小论文的参考模型和参考题目,供大家选择。
1.小作业题目(仅供参考)(题目的难易:●简单10道题★中等11道题▲复杂10道题)●最佳浏览路线问题问题描述:某旅游区的街道呈网格状,其中东西向的街道都是旅游街,南向的街道都是林荫道。
由于游客众多,旅游街被规定为单行道。
游客在旅游街上只能从西向东走,在林荫道上既可以由南向北走,也可以从北向南走。
阿隆想到这个旅游区游玩,他的好友阿福给了他一些建议,用分值表示所有旅游街相邻两个路口之间的道路浏览的必要程度,分值从-100到100的整数,所有林荫道不打分,所有分值不可能全是负值。
阿隆可以从任一路口开始浏览,在任一路口结束浏览,请写出一个算法,帮助阿隆寻找一条最佳的浏览路线,使得这条路线的所有分值总和最大。
(算法设计与分析第二版P190—11题)●问题描述:某工业生产部门根据国家计划的安排,拟将某种高效率的5台机器,分配给所属的,A,B,C个工厂,各工厂在获得这种机器后,可以为国家盈利如图表所示,问:这5台机器如何分配给各工厂,才能使得国家盈利最大?(P190-14题)●问题描述:编写算法对输入的一个整数,判断他能否被4,7,9整除,并输出一下信息之一,能同时被4,7,9整除;能被其中两个数(要指出那两个)整除能被其中一个数(要指出哪一个)整除不能被4,7,9任一个整除。
(P118-16)●问题描述:某一印刷厂有6项加工任务,对印刷车间和装订车间所需的时间表如下图:完成每项任务都要先去印刷车间印刷,再到装订车间装订。
问咋样安排这6项加工任务的加工工序,使得加工工时最少?(P191-17)●问题描述:编写用动态规划法求组合数mC的算法(P191-19).n●问题描述:仿照分治算法中两个大数相乘的算法策略,完成求解两个n*n阶矩阵A和矩阵B的乘积的算法。
假设n=2k,要求算法的复杂性要小于O(n3).(P190-12)●问题描述:在一个n*m的方格中,m为奇数,放置有n*m个数,方格中间的下方有一人,此人可按照5个方向前进但不能跃出方格,如图所示,人每走过一个方格必须取此方格中的数。
编程算法期末考试题及答案一、选择题(每题2分,共20分)1. 在排序算法中,时间复杂度为O(nlogn)的排序算法是:A. 冒泡排序B. 选择排序C. 快速排序D. 插入排序答案:C2. 下列哪个不是递归算法的特点?A. 函数调用自身B. 有明确的终止条件C. 必须有返回值D. 可以没有终止条件答案:D3. 动态规划算法主要用于解决:A. 排序问题B. 查找问题C. 计数问题D. 最优化问题答案:D4. 在图的遍历算法中,深度优先搜索(DFS)使用的是:A. 栈B. 队列C. 链表D. 树答案:A5. 哈希表的冲突解决方法不包括:A. 链地址法B. 开放地址法C. 再散列法D. 二分查找法答案:D二、简答题(每题10分,共30分)1. 请简述二叉树的遍历方法有哪些,并简要说明每种遍历的特点。
答案:二叉树的遍历方法主要有前序遍历、中序遍历、后序遍历和层序遍历四种。
- 前序遍历:首先访问根节点,然后遍历左子树,最后遍历右子树。
- 中序遍历:首先遍历左子树,然后访问根节点,最后遍历右子树。
- 后序遍历:首先遍历左子树,然后遍历右子树,最后访问根节点。
- 层序遍历:按照从上到下、从左到右的顺序逐层访问节点。
2. 什么是贪心算法?请举例说明。
答案:贪心算法是一种在每一步选择中都采取在当前状态下最好或最优的选择,从而希望导致结果是全局最好或最优的算法策略。
贪心算法不保证会得到最优解,但在某些问题上贪心算法可以得到最优解。
例如,硬币找零问题,假设有无限多的1元、5角和1角硬币,需要找给顾客x元零钱,贪心算法会尽可能多地使用面额较大的硬币,依次选择1元、5角和1角硬币,直到凑齐x元。
3. 什么是动态规划?请简述其基本思想。
答案:动态规划是一种将复杂问题分解为更简单的子问题,通过解决子问题来解决整个问题的方法。
动态规划的基本思想是:- 将原问题分解为一系列子问题;- 通过解决子问题,并将子问题的解存储起来(通常用一个数组或哈希表);- 利用这些子问题的解来解决更复杂的问题,避免重复计算。
算法设计综合实训题目0.逆序数字(借助栈)编写一个函数,接收一个4位整数值,返回这个数中数字逆序后的结果值。
例如,给定数7631,函数返回1367.输入:第一行一个正整数T(T<=10),表示有T组测试数据; 以下T行,每行一个非负的整数N。
输出:共T行,对于每组输入数据输出一行,即数字逆序后的结果值。
样本输入:3763110185158样本输出:1367810185151.人见人爱A+B这个题目的A和B不是简单的整数,而是两个时间,A和B 都是由3个整数组成,分别表示时分秒,比如,假设A为34 45 56,就表示A所表示的时间是34小时 45分钟 56秒。
输入:输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。
题目保证所有的数据合法。
输出:对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0-59),每个输出占一行,并且所有的部分都可以用32位整数表示。
样本输入:21 2 3 4 5 634 45 56 12 23 34样本输出:5 7 947 9 302.敲七【问题描述】输出7和7的倍数,还有包含7的数字例如(17,27,37...70,71,72,73...)【要求】【数据输入】一个整数N。
(N不大于30000)【数据输出】从小到大排列的不大于N的与7有关的数字,每行一个。
【样例输入】20【样例输出】714173.统计同成绩学生人数问题【问题描述】读入N名学生的成绩,将获得某一给定分数的学生人数输出。
【要求】【数据输入】测试输入包含若干测试用例,每个测试用例的格式为第1行:N第2行:N名学生的成绩,相邻两数字用一个空格间隔。
第3行:给定分数当读到N=0时输入结束。
其中N不超过1000,成绩分数为(包含)0到100之间的一个整数。
c程序设计大作业C程序设计大作业C程序设计是一门实践性很强的课程,大作业是检验学生对C语言掌握程度的重要方式。
本次大作业的目的在于通过实际编程练习,加深对C 语言基础语法、数据结构、算法设计和程序调试等方面的理解,同时培养学生的编程思维和解决实际问题的能力。
一、大作业要求1. 题目选择:学生可以从以下题目中任选一题完成:- 学生信息管理系统- 图书馆管理系统- 简易计算器- 字符串处理工具- 图形界面的五子棋游戏2. 功能实现:每个题目都应实现基本功能,例如:- 学生信息管理系统:添加、删除、修改、查询学生信息。
- 图书馆管理系统:图书借阅、归还、查询等。
- 简易计算器:实现基本的加减乘除运算。
- 字符串处理工具:实现字符串的复制、连接、查找、替换等操作。
- 图形界面的五子棋游戏:实现基本的下棋逻辑和胜负判断。
3. 代码规范:代码应遵循良好的编程规范,包括但不限于:- 明确的函数分工,每个函数应有简短的注释说明其功能。
- 变量命名应清晰,避免使用无意义的缩写。
- 代码结构清晰,逻辑性强。
4. 文档编写:提交的作业应包括:- 程序设计说明书:介绍程序的功能、设计思路、实现过程等。
- 源代码:按照题目要求编写的C语言代码。
- 用户手册:简要说明如何使用程序。
5. 提交方式:所有材料应以电子文档形式提交,包括设计说明书、源代码和用户手册。
二、大作业流程1. 选题:学生在教师的指导下选择适合自己能力的题目。
2. 需求分析:明确程序需要实现的功能和性能要求。
3. 设计:设计程序的总体结构和各个模块的详细设计。
4. 编码:根据设计文档编写程序代码。
5. 测试:对编写的程序进行测试,确保功能正确无误。
6. 调试:根据测试结果进行必要的调试,修正程序中的错误。
7. 文档编写:编写程序设计说明书和用户手册。
8. 提交:按照要求提交所有材料。
三、评分标准1. 功能实现:程序是否实现了题目要求的所有功能。
2. 代码质量:代码是否规范、清晰、易读。
算法大题期末考试题及答案一、简答题(每题5分,共20分)1. 简述什么是递归算法,并给出一个递归算法的实例。
答案:递归算法是一种在算法中使用函数调用自身的方法来解决问题的算法。
例如,计算阶乘的递归算法定义为:n! = n * (n-1)!,其中n是一个正整数,递归的基本情况是1! = 1。
2. 描述二分查找算法的基本思想,并说明其时间复杂度。
答案:二分查找算法是一种在有序数组中查找特定元素的算法。
其基本思想是将数组分为两半,比较中间元素与目标值,如果目标值等于中间元素,则查找成功;如果目标值小于中间元素,则在左半部分继续查找;如果目标值大于中间元素,则在右半部分继续查找。
这个过程重复进行,直到找到目标值或查找范围为空。
二分查找的时间复杂度为O(log n)。
3. 什么是动态规划?动态规划与贪心算法的区别是什么?答案:动态规划是一种通过将复杂问题分解为更小的子问题来解决的方法,并且通过存储这些子问题的解来避免重复计算。
动态规划与贪心算法的区别在于,贪心算法在每一步选择局部最优解,而动态规划则考虑所有可能的子问题解,并选择全局最优解。
4. 解释什么是哈希表,并简述其工作原理。
答案:哈希表是一种数据结构,它提供了快速的数据插入和查找功能。
哈希表通过哈希函数将键映射到表中的一个位置来访问记录,这个通过键到位置的映射过程称为哈希。
如果两个键具有相同的哈希值,这种情况称为冲突,通常通过链地址法或开放地址法来解决。
二、计算题(每题10分,共20分)1. 给定一个数组A=[3, 5, 7, 9, 11],请使用二分查找算法找出11的位置。
答案:首先,确定数组的中间位置,即(0+4)/2=2,比较A[2]与11,发现A[2]=7小于11,因此11在A[2]的右侧。
更新查找范围为A[3]到A[4],即索引3和4。
继续比较A[3]与11,发现A[3]=9小于11,因此11在A[3]的右侧。
最后,比较A[4]与11,发现A[4]=11等于目标值,所以11的位置是4。
一、综合处理题1、两倍- /problem?id=2807Description给定2到15个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍。
比如给定1 4 3 2 9 7 18 22,得到的答案是3,因为2是1的两倍,4是2个两倍,18是9的两倍。
Input输入包括多组测试数据。
每组数据包括一行,给出2到15个两两不同且小于100的正整数。
每一行最后一个数是0,表示这一行的结束后,这个数不属于那2到15个给定的正整数。
输入的最后一行只包括一个整数-1,这行表示输入数据的结束,不用进行处理。
Output对每组输入数据,输出一行,给出有多少个数对满足其中一个数是另一个数的两倍。
Sample Input1 4 32 9 7 18 22 02 4 8 10 07 5 11 13 1 3 0-1Sample Output322、谁拿了最多奖学金 - /problem?id=2715Description某校的惯例是在每学期的期末考试之后发放奖学金。
发放的奖学金共有五种,获取的条件各自不同:1) 院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得;2) 五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得;3) 成绩优秀奖,每人2000元,期末平均成绩高于90分(>90)的学生均可获得;4) 西部奖学金,每人1000元,期末平均成绩高于85分(>85)的西部省份学生均可获得;5) 班级贡献奖,每人850元,班级评议成绩高于80分(>80)的学生干部均可获得;只要符合条件就可以得奖,每项奖学金的获奖人数没有限制,每名学生也可以同时获得多项奖学金。
例如姚林的期末平均成绩是87分,班级评议成绩82分,同时他还是一位学生干部,那么他可以同时获得五四奖学金和班级贡献奖,奖金总数是4850元。
__ _ _ _ _ _ _ _ _ _ _ _ _ _号学_ _ _ _ _ _ _ _ _ _ _ _ _ _ _名姓班_ _ _ _ _ _ _ _ _ _ _级_ _ _ _ _ _ _ _ _ _院学_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _四川师范大学计算机科学学院2012~2013学年度第二学期期末考试⋯C语言程序设计试卷试卷A⋯⋯⋯答卷说明:⋯1、本试卷共6页,答题纸3页,4个大题,35个小题,满分100分,⋯⋯120分钟完卷。
⋯⋯2、闭卷考试,所有的答案都一定写在答题纸上,判卷以答题纸上答案⋯为准。
⋯效3、本试卷合用于2011级1、2、3班。
⋯)(无号一二三四分分人⋯⋯⋯⋯题分数⋯⋯⋯⋯答得分卷人⋯⋯⋯⋯)内一、(在每小的四个答案中,出一个正确答案,并将正确答案的封(序号填在干的括号内。
每小1分,共20分)⋯⋯1、在C言中,以下符中合法的是()⋯线A).-int B).in1_3C).A_B!DD).const⋯⋯⋯2、不属于C言基本数据型的是()⋯A).int B).union C).charD).unsigned⋯封⋯⋯3、下边是宏定的描绘。
不正确的选项是()⋯⋯密A).宏不存在型,宏名无型,它的参数也无型)密B).宏替不占用运转(C).宏替不过字符串的代替⋯D).宏替先型,型一致才能够替⋯⋯⋯4、C言中,″\\xfds″在内存中占用的字数是()⋯⋯A).3B).4C).5D).6⋯⋯⋯5、intx;行printf(″n%x″,~x^x);的果是()⋯A).ffffffff B).ff C).0D).1⋯⋯6、于while句,的法是()A).用条件控制循体的行次数B).循体起码要行一次计算机科学学院C语言程序设计试卷A第1页(共8页)C).循环体有可能一次也不履行D).循环体中能够包括若干条语句7、履行以下语句后输出的结果是()inta=8,b=7,c=6;if(a<b)if(b>c){a=c;c=b;}printf("%d,%d,%d\n",a,b,c);A).6,7,7B).6,7,8C).8,7,6D).8,7,88、设inta=9,b=20;则printf(″%d,%dn″,a,----b);的输出结果是()A).9,19B).9,20C).10,19D).10,209、设staticcharx[]=″12345″,y[]={′10′;},那′么2′(,′)3′,′4′,′5′,′A).x数组的长度等于y数组的长度B).x数组的长度大于y数组的长度C).x数组的长度少于y数组的长度D).x数组与y数组的储存地区同样10、设inti,x[3][3]={1,2,3,4,5,6,7,8,9};则下边语句的输出结果是()for(i=0;i<3;i++)printf(″%d″,x[i][2-i]);A).147B).159C).357D).36911、履行完以下语句后,n的值是()intn;for(n=0;n<100;n=2*n+1);A).125B).126C).127D).12812、有以下语句:inta=6;a+=a-=a*a;printf(“%d输”出,a);结果()A).–132B).–60C).-24D).013、为了连结两个字符串s1与s2,应该使用()A).strcat(s1,s2)B).strcpy(s1,s2)C).strlen(s1,s2)D).strcmp(s1,s2)14、设inta,*p;则语句p=&a;中的运算符“&”的含义是()A).位与运算B).逻辑与运算C).取指针内容D).取变量地点15、下边输出的结果为()inta=13,b=64;printf(“n%d”,!a||(b>>3));A).13B).64C).1D).016、以下定义正确的选项是()A).enumt={a,b}x;B).enumt{1,2}x;C).enum{′+-′,}x;′D).enumt{a,b}x;17、设有定义:structu{inta[4];floatb[3];charc[16];}aa;计算机科学学院C语言程序设计试卷A第2页(共8页)⋯⋯_⋯__⋯_⋯__⋯__⋯__⋯_⋯__⋯__⋯号⋯学)_(_⋯_⋯__⋯__⋯__⋯_⋯__⋯__⋯_⋯名⋯姓⋯⋯)班封_(__⋯__⋯_⋯__⋯__⋯_⋯级⋯__⋯__⋯__⋯__⋯_⋯_院)密学_(_⋯__⋯__⋯__⋯_⋯__⋯__⋯__⋯_⋯__⋯⋯⋯printf(″%dn″,sizeof(aa));的出是()A).32B).36C).12D).818、数据在文本文件中占用的字个数是()A).4B).5C).6D).819、在宏定#definep(r)3.14*r中,宏名是()A).p B).p(r)C). 3.14*r D).p(r)3.14*r20、要翻开一个已存在的用于改正的非空二制文件“”,正确句是()A).fp=fopen(","r")B).fp=fopen(","ab+")C).fp=fopen(","w")D).fp=fopen(","r+")效得分卷人无二、填空(仔每小的明和源代,并将正确答案写到答上的号。
试卷四标准答案及评分标准一、语言基础题判断题评分标准:本题10分,每小题1分1. X2. X3. V4. V5. X6. X7. J8. V9. V 10. X驻选题评分标准:本题10分,每小题1分1・A 2. D 3. B 4. A 5. C 6. D 7. C 8. B 9. D 10. B填空题评分标准:本题10分,每小题2分1.k/(l+a*exp(-b*x))2.强制变量声明语句,耍求变量先声明再使用3.Const pi As Single =3.14说明:As Single nJ'以不写,但写在最后扣1分。
4.x Mod2= OAnd x>0说明:多答案,如:x /2=x\2 And x>0 或Int(x /2)=x/2 And x>0或Fix(x /2)=x/2 And x>05.(x mod 10)*10+x\10说明:多答案,如:(x-Int(x/10)*10) *10+Int(x/10), Int 可用Fix 替代6. 67.Circle (ScaleWidth / 2, ScaleHeight / 2), 1000, vbRed 说明:Circle方法不完整可酌情扣分。
8.129.Dirl.Path = Drivel.Drive10.Open “d:\aaa\abc.dat" For Output As #1说明:命令格式止确给1分。
二、程序阅读题评分标准:每小题5分。
完全与标准答案吻合可以得5分,若数据正确或格式止确则酌情给分。
1. nol: 3 5no2: 5 5no3:a= 10 b= 15no4: a=a+b no5: False 2.y=-5 y=-103. 4.X=1 x=2 y=l z=l y=2 z=2** **** ^9 9 ^9 9• 1 • • | • * I • • ■ * • 1 * * I * * ■ * * ■ * * I * * ■ *三、程序填空题评分标准:本题20分,每空2分.1.(1)Dim Pwd As String(2)Pwd=''abcde"(3)Command 1 .Visible=False(4)MsgBox -密码鉛•误”说明:可以函数格式。
2017级《程序设计与算法综合实践》期末大作业题目及评分标准有如下情况之一者,为不及格。
(1)未能完成所选题目评分标准的最低要求。
(2)抄袭他人成果。
(3)大作业检查时不带电脑,或电脑没有C语言开发环境。
(4)出勤次数、课堂表现等不符合学校相关教学文件规定等其他情况。
备选题目目录1.图书购买系统...............................................................................................................- 2 -2.物流信息管理系统 ....................................................................................................- 3 -3.PM2.5实时信息管理系统 ............................................................ - 5 -4.电影评论系统 ............................................................................... - 6 -5.游戏角色属性分析........................................................................ - 8 -6.KTV点歌系统 ................................................................................ - 9 -7.英语词斩系统 ............................................................................. - 11 -8.校运动会成绩管理系统.............................................................. - 14 -9.通讯录管理系统 ......................................................................... - 15 -10.机票购买系统 ............................................................................. - 16 -11.车辆销售管理系统...................................................................... - 17 -12.饮品自动贩卖机系统.................................................................. - 18 -图书购买系统该系统有两类用户,会员(多名)和管理员(1名)。
算法设计与分析期末成绩考核标准要求:算法设计与分析考试方式为小论文形式。
下面给出了小论文的参考模型和参考题目,供大家选择。
1.小作业题目(仅供参考)(题目的难易:●简单10道题★中等11道题▲复杂10道题)●最佳浏览路线问题问题描述:某旅游区的街道呈网格状,其中东西向的街道都是旅游街,南向的街道都是林荫道。
由于游客众多,旅游街被规定为单行道。
游客在旅游街上只能从西向东走,在林荫道上既可以由南向北走,也可以从北向南走。
阿隆想到这个旅游区游玩,他的好友阿福给了他一些建议,用分值表示所有旅游街相邻两个路口之间的道路浏览的必要程度,分值从-100到100的整数,所有林荫道不打分,所有分值不可能全是负值。
阿隆可以从任一路口开始浏览,在任一路口结束浏览,请写出一个算法,帮助阿隆寻找一条最佳的浏览路线,使得这条路线的所有分值总和最大。
(算法设计与分析第二版P190—11题)●问题描述:某工业生产部门根据国家计划的安排,拟将某种高效率的5台机器,分配给所属的,A,B,C个工厂,各工厂在获得这种机器后,可以为国家盈利如图表所示,问:这5台机器如何分配给各工厂,才能使得国家盈利最大?(P190-14题)●问题描述:编写算法对输入的一个整数,判断他能否被4,7,9整除,并输出一下信息之一,能同时被4,7,9整除;能被其中两个数(要指出那两个)整除能被其中一个数(要指出哪一个)整除不能被4,7,9任一个整除。
(P118-16)●问题描述:某一印刷厂有6项加工任务,对印刷车间和装订车间所需的时间表如下图:完成每项任务都要先去印刷车间印刷,再到装订车间装订。
问咋样安排这6项加工任务的加工工序,使得加工工时最少?(P191-17)C的算法(P191-19).●问题描述:编写用动态规划法求组合数mn●问题描述:仿照分治算法中两个大数相乘的算法策略,完成求解两个n*n阶矩阵A和矩阵B的乘积的算法。
2017级《程序设计与算法综合实践》期末大作业题目及评分标准有如下情况之一者,为不及格。
(1)未能完成所选题目评分标准的最低要求。
(2)抄袭他人成果。
(3)大作业检查时不带电脑,或电脑没有C语言开发环境。
(4)出勤次数、课堂表现等不符合学校相关教学文件规定等其他情况。
备选题目目录1.图书购买系统...............................................................................................................- 2 -2.物流信息管理系统 ....................................................................................................- 3 -3.PM2.5实时信息管理系统 ............................................................ - 5 -4.电影评论系统 ............................................................................... - 6 -5.游戏角色属性分析........................................................................ - 8 -6.KTV点歌系统 ................................................................................ - 9 -7.英语词斩系统 ............................................................................. - 11 -8.校运动会成绩管理系统.............................................................. - 14 -9.通讯录管理系统 ......................................................................... - 15 -10.机票购买系统 ............................................................................. - 16 -11.车辆销售管理系统...................................................................... - 17 -12.饮品自动贩卖机系统.................................................................. - 18 -图书购买系统该系统有两类用户,会员(多名)和管理员(1名)。
其中,会员功能包括:1、首先注册并录入个人信息,包括:用户名,密码,生日,邮箱。
注册后,自动设置会员编号,积分被自动设置为0。
2、登陆不成功时能提示用户名或密码错误。
3、成功登陆后可以查询所有图书信息,并根据书名选择购买图书(需要减库存),购买图书的总金额每10元积1分,积分在购买时可以抵钱用,1个积分抵1元。
3、登陆后可以查询自己的购买记录。
4、登陆后可以查询个人信息(会员编号,用户名,密码,生日,积分),可以修改密码。
5、退出会员界面,返回主菜单。
管理员功能包括:1、查询所有会员个人信息,能删除会员。
2、录入图书信息,包括书名、单价和库存。
3、查询所有会员所有购买记录,或根据会员编号查询其购买记录。
4、退出管理员界面,返回主菜单。
主菜单为:图书购买系统1会员入口2管理员入口0 退出系统两类用户各自的菜单根据功能自主设计。
评分标准:1、完成以下功能,并理解代码,60分(界面友好、系统健壮加1~10分不等)会员能注册并录入个人信息,包括:用户名,密码,生日,邮箱;成功登陆后可以查询所有图书信息,并根据书名选择购买图书;登陆后可以查询自己的购买记录;登陆后可以查询个人信息(会员编号,用户名,密码,生日,积分)。
管理员能查询所有会员个人信息;录入图书信息,包括书名、单价和库存。
2、完成以下功能,并理解代码,70分(界面友好、系统健壮加1~10分不等)会员能注册并录入个人信息,包括:用户名,密码,生日,邮箱,注册后,自动设置会员编号,积分被自动设置为0;成功登陆后可以查询所有图书信息,并根据书名选择购买图书(需要减库存);登陆后可以查询自己的购买记录;登陆后可以查询个人信息(会员编号,用户名,密码,生日,积分)可以修改密码。
管理员能查询所有会员个人信息;录入图书信息,包括书名、单价和库存。
3、完成以下功能,并理解代码,80分(界面友好、系统健壮加1~10分不等)会员能注册并录入个人信息,包括:用户名,密码,生日,邮箱,注册后,自动设置会员编号,积分被自动设置为0;成功登陆后可以查询所有图书信息,并根据书名选择购买图书(需要减库存);登陆后可以查询自己的购买记录;登陆后可以查询个人信息(会员编号,用户名,密码,生日,积分)可以修改密码;管理员能查询所有会员个人信息,能删除会员;录入图书信息,包括书名、单价和库存;查询所有会员所有购买记录,或根据会员编号查询其购买记录。
4、完成所有功能,并理解代码,90分(界面友好、系统健壮加1~10分不等)并自定义一些功能项来扩充系统功能,系统健壮性良好。
物流信息管理系统该系统有两类用户,普通用户和管理员(1名)。
其中,普通用户功能包括:1、按快递单号查询该订单的所有物流信息,包括快递单号、快递状态(已出库、派件中、签收)、发件人名称、发件人地址、联系电话、邮编、收件人名称、收件人地址、收件人联系电话和邮编等信息。
2、退出普通用户界面,返回主界面。
管理员功能包括:1、管理员登陆,用户名和密码输入正确才能进入管理员界面,不成功时能提示用户名或密码错误。
2、快递单相关信息的录入,包括订单号、订单状态(已出库、派件中、签收)、发件人名称、发件人地址、联系电话、邮编、收件人名称、收件人地址、收件人联系电话和邮编等信息。
3、按收件人名称查询此人的所有快递的状态信息(快递单号,快递状态)。
4、按快递单号修改该快递的状态(已出库->派件中->签收)。
5、退出管理员界面,返回主界面。
主菜单为:物流信息管理系统1 普通用户入口2 管理员入口0 退出系统两类用户各自的菜单根据功能自主设计。
评分标准:1、完成以下功能,并理解代码,60分(界面友好、系统健壮加1~10分不等)普通用户按快递单号查询该订单的所有物流信息,包括快递单号、快递状态(已出库、派件中、签收)、发件人名称、发件人地址、联系电话、邮编、收件人名称、收件人地址、收件人联系电话和邮编等信息;退出普通用户界面,返回主界面;管理员对快递相关信息的录入,包括订单号、订单状态(已出库、派件中、签收)、发件人名称、发件人地址、联系电话、邮编、收件人名称、收件人地址、收件人联系电话和邮编等信息;退出管理员界面,返回主界面。
2、完成以下功能,并理解代码,70分(界面友好、系统健壮加1~10分不等)普通用户按快递单号查询该订单的所有物流信息,包括快递单号、快递状态(已出库、派件中、签收)、发件人名称、发件人地址、联系电话、邮编、收件人名称、收件人地址、收件人联系电话和邮编等信息;退出普通用户界面,返回主界面;管理员登陆,用户名和密码输入正确才能进入管理员界面,不成功时能提示用户名或密码错误;快递单相关信息的录入,包括订单号、订单状态(已出库、派件中、签收)、发件人名称、发件人地址、联系电话、邮编、收件人名称、收件人地址、收件人联系电话和邮编等信息;退出管理员界面,返回主界面。
3、完成以下功能,并理解代码,80分(界面友好、系统健壮加1~10分不等)普通用户按快递单号查询该订单的所有物流信息,包括快递单号、快递状态(已出库、派件中、签收)、发件人名称、发件人地址、联系电话、邮编、收件人名称、收件人地址、收件人联系电话和邮编等信息;退出普通用户界面,返回主界面;管理员登陆,用户名和密码输入正确才能进入管理员界面、不成功时能提示用户名或密码错误;快递单相关信息的录入,包括订单号、订单状态(已出库、派件中、签收)、发件人名称、发件人地址、联系电话、邮编、收件人名称、收件人地址、收件人联系电话和邮编等信息;按收件人名称查询此人的所有快递的状态信息(快递单号,快递状态);退出管理员界面,返回主界面。
4、完成所有功能,并理解代码,90(界面友好、系统健壮加1~10分不等)并自定义一些功能项来扩充系统功能,系统健壮性良好。
PM2.5实时信息管理系统该系统有两类用户,普通用户和管理员(1名)。
其中,普通用户功能包括:1、按城市名称查询其对应的空气质量指数的所有相关信息,包括城市名称、AQI、空气质量指数类别(轻度污染、中毒污染、重度污染等)、PM2.5、PM10、CO等信息。
2、查询所有城市的空气质量指数,并可根据用户的选择(按AQI升序或降序、前n个结果)输出查询到的结果。
3、退出普通用户界面,返回主界面。
管理员功能包括:1、管理员登陆,用户名和密码输入正确才能进入管理员界面,不成功时能提示用户名或密码错误。
2、空气质量指数相关信息的录入,包括城市名称、AQI、空气质量指数类(轻度污染、中毒污染、重度污染等)、PM2.5、PM10、CO等信息。
3、按城市名称修改该城市的空气质量指数的相关信息。
4、退出管理员界面,返回主界面。
附加功能:按城市名称进行模糊查询,例如,如果输入查询条件为“大”,能输出“大连”、“大理”等以大开头的城市的空气质量指数。
主菜单为:PM2.5实时信息管理系统1 普通用户入口2 管理员入口0 退出系统两类用户各自的菜单根据功能自主设计。
评分标准:1、完成以下功能,并理解代码,60分(界面友好、系统健壮加1~10分不等)普通用户按城市名称查询其对应的空气质量指数的所有相关信息;退出普通用户界面,返回主界面;管理员登陆,用户名和密码输入正确才能进入管理员界面,不成功时能提示用户名或密码错误;空气质量指数相关信息的录入。
2、完成以下功能,并理解代码,70分(界面友好、系统健壮加1~10分不等)普通用户按城市名称查询其对应的空气质量指数的所有相关信息;退出普通用户界面,返回主界面;管理员登陆,用户名和密码输入正确才能进入管理员界面,不成功时能提示用户名或密码错误;空气质量指数相关信息的录入;按城市名称修改该城市的空气质量指数的相关信息;退出管理员界面,返回主界面。