【计算机类职业资格】程序员-34及答案解析.doc
《【计算机类职业资格】程序员-34及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】程序员-34及答案解析.doc(10页珍藏版)》请在麦多课文档分享上搜索。
1、程序员-34 及答案解析(总分:45.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)1.【说明】 设计一个日期类 Date 包括年、月、日等私有数据成员。要求实现日期的基本运算,如某日期加上天数、某日期减去天数、两日期相差的天数等。 在 Date 类中设计如下重载运算符函数: Date operator + (int days) : 返回某日期加上天数得到的日期。 Date operator - (int days) : 返回某日期减去天数得到的日期。 int operator - (Date /day_tab 二维数组存放各月天数,第一行对应非闰年,第二行对应闰年 c
2、lass Date int year, month, day /年,月,日 int leap(int); /判断是否闰年 int dton(Date month = m; day = d; void setday(intd)day = d; void setmonth(int m) month = m; void setyear(int y) year =y; int getday() return day; int getmonth() return month: int getyear() return yea; Date operator + (int days) /+运算符重载函数 s
3、tatic Date date; int number = _ 1_ date = ntod(number) return date Date operator - (int days) /-运算符重载函数 staffs Date date; int number= _ 2_ ; number - = days; date = ntod(number) return date; int operator - (Date return days; void disp() coutyear“.“month“. “dayendl; ; int Date: :leap( int year) if( _
4、 4_ ) /是闰年 return 1; /不是闰年 else return0: int Date: dton( Date for(y=1;y=d. year;y+) if( _ 5_ )days+ =366; /闰年时加 366 天 else days + = 365; /非闰年时加 365 天 for(m =0;md. month-1;m+) if( (6) ) days += day_tab1 m; else days +=day_tab0 m; days + = d. day; return days; Date Date:ntod(intn) /将从元 0 年 0 月 0 日的天数转
5、换成日期 int y=1,m = 1,d,rest = n,lp; while 6 if(leap(y) if(rest= 366) break; else rest - = 366; else /非闰年 if(rest = 365 ) break; else rest-=365; y+; y-; Ip = leap(y); while 7 if(lp) /闰年 if(restday_tab1 m - 1) rest -= day_tab1 m-1; else break; else /非闰 if(restday_tab0 m -1) rest -= day_tab0 m-1; else br
6、eak; m+; d = rest; return Date(y;m,d); void main() Date now(2003,10,1) ,then(2005,6,5); cout“ now:“;now. disp(); cout“ then:“;then. disp(); cout“相差天数:“(then-now)endl; Date dl = now + 1000,d2 = now - 1000; cout“now + 1000:“ ;d1. disp(); cout“ now - 1000:“ :d2. disp(); (分数:15.00)二、试题二(总题数:1,分数:15.00)2
7、.【说明】 程序 8 用于计算某公司每个职工应缴纳的个人所得税额和全体职工缴纳的个人所得税总额,职工的当月收入(工资或薪金)通过键盘输入,每次输入一个职工的工号和工资(或薪金)。由于该公司的工资或薪金是不定时发放的,所以输入过程中每个职工的收入会出现多次输入,整个输入以工号小于等于 0 结束。 假设个人所得税法规定:个人收入所得,按月计税,以每月收入总额减除免税金额 800 元后的余额作为该月的月应纳税所得额。适用税率如表所示。 级数 月应纳税所得额 适用税率 (%) 1 2 3 4 5 6 7 8 9 不超过 500 元的部分 501 元2000 元的部分 2001 元5000 元的部分 5
8、001 元2000 元的部分 2001 元4000 元的部分 4001 元6000 元的部分 6001 元8000 元的部分 8001 元100000 元的部分 超过 100000 元的部分 5 10 15 20 25 30 35 40 45 上表表明,个人收入所得税是按照超额累进的税率来征收的。 设一个人的月应纳税所得额为 K(元),用下面的公式计算其应缴纳的个人所得税额 S (元); 若 0K500,则 S=K5%; 若 500K2000,则 S=5005%+(K-500)10%; 若 2000K5000,则 S=5005%+150010%+(K-2000)15%; 若 5000K2000
9、0,则 S=5005%+150010%+300015%+(K-5000)20%; . 例如,某人某月收入总额为 4100 元,减去 800 元后,应纳税所得额为 3300 元,其应缴纳的个人所得税额为 500*5%+1500*10%+1300*15%=370 元。 【程序】 #includestdio.h #define MaxNum 50 #define BASE 800 /*免税金额基数*/ int paylevel=0,500,2000,5000,20000,40000,60000,80000,100000,1000001; int taxPrate=5,10,15,20,25,30,3
10、5,40,45; /*税率表*/ typedef struct int ld; /*职工的工号*/ long Salary; /*职工的工资*/ Info; /*查找工号为 ld 的职工在数组 employee 中的下标,返回值为 0 表示没有*/ int find (int ld ,Info employee, int m) int j; employee0. Id=Id; for(j=m; _ 1_ ;j-); return j; void main(void) Info employeeMaxNum+1; long Wage; double sum=0, K,S; int i,j,N=0
11、,Code; scanf(“%d %Id“, while(Code0) i=find (Code, empolyee, N ); if(i0)employee i. Salary+=Wage; else _ 2_ ; employeeN. Id=Code;employeeN. Salary =Wage; scanf(“%d %Id“, for(i=1;i=N;i+) K= _ 3_ ; /*计算月应纳税所得额*/ S=0; /*月应纳税额赋初值*/ if(K0) for(j=1;j9;j+) if _ 4_ /*月应纳税所得额超过第 j 级*/ S=S+(paylevelj-paylevelj
12、-1)*taxPratej-1/100; elseS =S+ _ 5_ * taxPratej-1/100; break; printf(“职工%d 应缴纳的个人所得税额:%10.21fn“,employeei.Id,S); sum+=S; printf(“全体职工个人所得税总额:%10.21fn“,sum); (分数:15.00)三、试题三(总题数:1,分数:15.00)3.【说明】 某学校举办了一场奥运知识竞赛,参加竞赛的选手为 200 名,1200 为选手编号。竞赛时间为9:0011:00。8 道竞赛题目依次从“A”“H”编号,选手可按任意次序答题,每完成一道题目,可立即提交答案。若答案
13、正确(Y),则选择其他题目进行解答,否则,可继续做该题目或选择其他题目进行解答,直至竞赛结束。 选手提交答案的情况及判定结果由专人即时录入,录入数据包括提交答案的时间、选手编号、题目编号(AH)、是否正确(Y/N)等。 对竞赛情况进行统计和排名的规则如下: 1若选手 X 在竞赛时提交的题目 P 解答正确,则解答该题目所用时间计算如下: 解答题目 P 的用时=提交题目 P 正确的时间-竞赛的开始时间+罚时,罚时=提交题目 P 错误解答的次数20例如:表 1 中 14 号选手在 10:27 提交了题目 A 的正确解答,因此该选手正确解答该题目所用时间 P 为 87分钟,由于他在 09:37 和 0
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 程序员 34 答案 解析 DOC
