本站搜索:
          设为首页       加入收藏           全部考试查看
阅读文章

2007年下半年程序员考试模拟试题下午题(第五套)

[日期:2007-11-01] 来源:云南培训认证网  作者: [字体: ]

●试题一
阅读下列说明和流程图,将应填入(n)的语句写在答题纸的对应栏内。





【流程图】
 
图1
下面的流程图描述了对16位二进制整数求补的算法。计算过程是:从二进制数的低位(最右位)开始,依次向高位逐位查看,直到首次遇到"1"时,停止查看。然后,对该"1"位左面的更高位(如果有的话),逐位求反,所得的结果就是对原二进制数求补的结果。
例如:对二进制整数10111001 10101000求补的结果是01000110 01011000。
设16位二进制整数中的各位,从低位到高位,依次存放在整型数组BIT的BIT[1]~BIT[16]中。例如,二进制整数10111001 10101000存放在数组BIT后,就有BIT1[1]=0,BIT[2]=0,……,BIT[15]=0,BIT[16]=1。
流程图(如图1所示)中  (1)  处按"循环变量名:循环初值,增量,循环终值"格式描述。若流程图中存在空操作,则用NOP表示。
 
●试题二
阅读下列程序说明和C程序,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
程序8用于计算某公司每个职工应缴纳的个人所得税额和全体职工缴纳的个人所得税总额,职工的当月收入(工资或薪金)通过键盘输入,每次输入一个职工的工号和工资(或薪金)。由于该公司的工资或薪金是不定时发放的,所以输入过程中每个职工的收入会出现多次输入,整个输入以工号小于等于0结束。
假设个人所得税法规定:个人收入所得,按月计税,以每月收入总额减除免税金额800元后的余额作为该月的月应纳税所得额。适用税率如表2所示。


 
上表表明,个人收入所得税是按照超额累进的税率来征收的。
设一个人的月应纳税所得额为K(元),用下面的公式计算其应缴纳的个人所得税额S(元);
若0<K≤500,则S=K×5%;
若500<K≤2000,则S=500×5%+(K-500)×10%;
若2000<K≤5000,则S=500×5%+1500×10%+(K-2000)×15%;
若5000<K≤20 000,则S=500×5%+1500×10%+3000×15%+(K-5000)×20%;


例如,某人某月收入总额为4100元,减去800元后,应纳税所得额为3300元,其应缴纳的个人所得税额为500*5%+1500*10%+1300*15%=370元。
【程序】
# include <stdio.h>
# define MaxNum50
# define BASE 800/*免税金额基数*/
int paylevel[]={0,500,2000,5000,20000,40000,60000,80000,100000,1000001};
int taxPrate[]={5,10,15,20,25,30,35,40,45};/*税率表*/
typedef struct{
int Id;/*职工的工号*/
long Salary;/*职工的工资*/
}Info;
/*查找工号为Id的职工在数组employee中的下标,返回值为0表示没有*/
int find (int Id ,Info employee[],int m){
int j;
employee[0].Id=Id;
for(j=m;  (1)  ;j--);
return j;
}
void main(void)
{Info employee[MaxNum+1];
long Wage;
double sum=0,K,S;
int i,j,N=0,Code;
scanf(″%d %ld″,&Code,&Wage);/*读入职工号、工资或薪金*/
while(Code>0){
i=find(Code,empolyee,N);
if(i>0)employee[i].Salary+=Wage;
else{  (2)  ;
employee[N].Id=Code;employee[N].Salary=Wage;
}
scanf(″%d %ld″,&Code,&Wage);
}
for(i=1;i<=N;i++){
K=  (3)  ;/*计算月应纳税所得额*/
S=0;/*月应纳税额赋初值*/
if(K>0){
for(j=1;j<=9;j++)
if  (4)  /*月应纳税所得额超过第j级*/
S=S+(paylevel[j]-paylevel[j-1])*taxPrate[j-1]/100;
else{S=S+  (5)  *taxPrate[j-1]/100;break;}
}
printf(″职工%d应缴纳的个人所得税额:%10.21f\n″,employee[i].Id,S);
sum+=S;
 }
 printf(″全体职工个人所得税总额:%10.21f\n″,sum);
}
 



[1] [2] [3] 下一页   

阅读:

责任编辑:遥望

【在本站遇到阅读、观看、下载、发表文章等问题   请点此获得帮助 在本站发表文章或者留言    会员登录    会员注册

上一篇:2007年下半年网络管理员考试模拟试题上午题(第四套)
下一篇:2007年下半年程序员考试模拟试题上午题(第五套)
相关阅读       程序员考试模拟试题 
本文评论       全部评论
发表评论


点评: 字数
姓名:    会员登录    会员注册

  • 本站不会回复评论,咨询请到“在本站发表文章或者留言”处提问
  • 评论字数不要超过500字,请不要发广告
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款