欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】程序员-34及答案解析.doc

    • 资源ID:1336122       资源大小:50KB        全文页数:10页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】程序员-34及答案解析.doc

    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

    14、9:52 两次提交了题目 A 的错误解答,因此罚时为(220)分钟=40 分钟,所以14 号选手解答题目 A 的用时=(87+ 40)分钟:127 分钟。 2已经提交正确答案的题目再次提交时不再计算。 3竞赛结束时,选手的总用时为所有解答正确的题目用时累加所得,解答不正确的题目不计时。 4排名时,完成题目数量多者排名靠前;若完成的题目数相同,则用时少者排名靠前;若完成的题目数和所用时间均相等,则名次相同;完成题目数为。的选手不参加排名。 本应用程序的运行窗口如图 3 所示。 (分数:15.00)程序员-34 答案解析(总分:45.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.

    15、00)1.【说明】 设计一个日期类 Date 包括年、月、日等私有数据成员。要求实现日期的基本运算,如某日期加上天数、某日期减去天数、两日期相差的天数等。 在 Date 类中设计如下重载运算符函数: Date operator + (int days) : 返回某日期加上天数得到的日期。 Date operator - (int days) : 返回某日期减去天数得到的日期。 int operator - (Date /day_tab 二维数组存放各月天数,第一行对应非闰年,第二行对应闰年 class Date int year, month, day /年,月,日 int leap(int)

    16、; /判断是否闰年 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) /+运算符重载函数 static Date date; int number = _ 1_ date = ntod(numb

    17、er) 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_ ) /是闰年 return 1; /不是闰年 else return0: int Date:

    18、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 日的天数转换成日期 int y=1,m = 1,d,rest = n,lp; while 6 if(leap(y

    19、) 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 break; m+; d = rest; return Date(y;m,d); void main()

    20、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)解析:dton(*this)+days dton(*this) dton(*this)-(dton(b)-1 year%4 = 0 若 500K2

    21、000,则 S=5005%+(K-500)10%; 若 2000K5000,则 S=5005%+150010%+(K-2000)15%; 若 5000K20000,则 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,2

    22、000,5000,20000,40000,60000,80000,100000,1000001; int taxPrate=5,10,15,20,25,30,35,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;

    23、void main(void) Info employeeMaxNum+1; long Wage; double sum=0, K,S; int i,j,N=0,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; /*月应纳税

    24、额赋初值*/ if(K0) for(j=1;j9;j+) if _ 4_ /*月应纳税所得额超过第 j 级*/ S=S+(paylevelj-paylevelj-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)解析:employeej.Id!=Id +N 或 N+或 N=N+1 employee i. Salary

    25、-BASE Kpaylevelj K-paylevelj-1三、试题三(总题数:1,分数:15.00)3.【说明】 某学校举办了一场奥运知识竞赛,参加竞赛的选手为 200 名,1200 为选手编号。竞赛时间为9:0011:00。8 道竞赛题目依次从“A”“H”编号,选手可按任意次序答题,每完成一道题目,可立即提交答案。若答案正确(Y),则选择其他题目进行解答,否则,可继续做该题目或选择其他题目进行解答,直至竞赛结束。 选手提交答案的情况及判定结果由专人即时录入,录入数据包括提交答案的时间、选手编号、题目编号(AH)、是否正确(Y/N)等。 对竞赛情况进行统计和排名的规则如下: 1若选手 X 在

    26、竞赛时提交的题目 P 解答正确,则解答该题目所用时间计算如下: 解答题目 P 的用时=提交题目 P 正确的时间-竞赛的开始时间+罚时,罚时=提交题目 P 错误解答的次数20例如:表 1 中 14 号选手在 10:27 提交了题目 A 的正确解答,因此该选手正确解答该题目所用时间 P 为 87分钟,由于他在 09:37 和 09:52 两次提交了题目 A 的错误解答,因此罚时为(220)分钟=40 分钟,所以14 号选手解答题目 A 的用时=(87+ 40)分钟:127 分钟。 2已经提交正确答案的题目再次提交时不再计算。 3竞赛结束时,选手的总用时为所有解答正确的题目用时累加所得,解答不正确的题目不计时。 4排名时,完成题目数量多者排名靠前;若完成的题目数相同,则用时少者排名靠前;若完成的题目数和所用时间均相等,则名次相同;完成题目数为。的选手不参加排名。 本应用程序的运行窗口如图 3 所示。 (分数:15.00)解析:Asc(“A“)+i-1,或 64+i,及其等价形式 (h-9) * 60+m,及其等价形式 Combol.Text Value time+R(k).d(m)*20 其中 m 可表示为 Asc(ch)-Asc(“A“)或 Asc(ch)-65,k 可表示为 R(R(k).no)


    注意事项

    本文(【计算机类职业资格】程序员-34及答案解析.doc)为本站会员(fatcommittee260)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开