上机考试及题集完全版(含答案) (1) - 用于合并 下载本文

本学期《程序设计基础》课程实行上机考核,现将考核有关事项通知如下: (1) 考核时间:本学期最后一次上机时间为机试。

(2) 考核内容:主要是算法设计与实现。考题来自本学期布置的作业、例题

及一些补充的题目。

(3) 考试形式:机试前进入机房时,每人随机抽取一道题(同一个组的同学

保证不抽到同一题),然后上机编程,调试通过后报告监考人员审核,审核通过后将源程序拷贝到监考人员U盘上,然后可以离开机房。源程序文件明必须是“学号姓名.cpp”,如“2012216827王梓丞.cpp”。 (4) 考试要求:机试时考试规则同课堂考试一致,不允许带书、纸张等。不

能携带任何可用计算机处理的软件或数据(不允许任何私人携带的U盘、磁盘或计算器) ,不能携带任何类型的通讯工具,包括无线电接收器、移动电话。

(5) 考试成绩:本次机试成绩将在《程序设计基础》课程成绩中占25%的比

重。

(6) 其它有关事项由主考教师和监考人员负责处理。 附:考试题集

1. 学校曾经组织一次“程序设计大奖赛”,规定本学期“程序设计”课程的成绩可以因为在大奖赛上获奖而加5分,总分不超过100分。编程序,输入某同学的考试成绩,回答是否在竞赛中获奖,计算并输出该某同学的程序设计课成绩 。 #include\void main(){ }

2. 编写一个程序,用户输入年份及月份两个数据,程序输出该月份的天数。(提示:对2月要考虑是否闰年,闰年年份要么能被4整除且不能被100整除,要么能被400整除,除此之外都不是闰年)。 #include\void main(){ int yy,mm,days;

printf(\int mark; char win;

printf(\scanf(\getchar();

printf(\你是否在大奖赛上获奖(Y/N)\win=getchar(); if(win=='y'||win=='Y')

mark=mark+5;

if(mark>100)

mark=100;

printf(\

scanf(\

printf(\ scanf(\ switch(mm){ case 1:days=31;break; case 2:{

if((yy%4==0&&yy0!=0)||yy@0==0)

days=29;

else

days=28;

}break;

case 3:days=31;break; case 4:days=30;break; case 5:days=31;break; case 6:days=30;break; case 7:days=31;break; case 8:days=31;break; case 9:days=30;break; case 10:days=31;break; case 11:days=30;break; case 12:days=31;break; }

printf(\}

3. 求一元二次方程ax2+bx+c=0的根。(要考虑a、b、c三个系数不同的取值)