ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:42.60KB ,
资源ID:18572395      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-18572395.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(上半年程序员下午试题.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

上半年程序员下午试题.docx

1、上半年程序员下午试题2004年上半年程序员下午试题试题一是必答题试题一阅读下列说明、流程图和算法,将应填入_(n)_处的字句写在答题纸的对应栏内流程图说明下面的流程图用NS盒图形式描述了数组A中的元素被划分的过程其划分方法是:以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标端移动当划分结束时,基准数定位于Ai,并且数组中下标小于i的元素的值均小于基准数,下标大子i的元素的值均大于基准数。设数组A的下界为low,上界为high,数组中的元素互不相同。例如,对数组(4,2,8,3,6),以4为基准数的划分过程如下:流程图算法说明将上述划分的思想进一步用于

2、被划分出的数组的两部分,就可以对整个数组实现递增排序。设函数int p(int A,int low,int high)实现了上述流程图的划分过程并返回基准数在数组A中的下标。递归函数void sort(int A,iht L,int H)的功能是实现数组A中元素的递增排序。算法void sort(int A,iht l,int H)if ( L H ) k=p(A,L,R);/p()返回基准数在数组A中的下标sort(_ (4)_; /小于基准数的元素排序sortl_ (5)_);/大于基准数的元素排序 从下列的2道试题(试题二至试题三)中任选1道解答。如果解答的试题数超过1道,则题号小的1道

3、解答有效。试题二阅读下列函数说明和C函数,将应填入_(n)_处的字句写在答题纸的对应栏内。函数2.1说明函数palindrome(chars)的功能是:判断字符串s是否为回文字符串,若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:“LEVEL”是回文字符串,而“LEVAL”不是。函数2.1int palindrome(char S) char*pi,*pj;piS;pjs+strlen(S)-1:while ( pipj & _(1)_)pi+; pj-;if(_ (2)_)return-1;else return 0;函数2.2说明函数f(char

4、 *str,char del)的功能是;将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。例如若str的值为“33123333435”,del的值为3,调用此函数后,将输出三个子字符串,分别为“12”、“4”和“5”。函数2.2void f(char*str,char del) int i,j,len;len = strlen(str);i = 0;while(ielem = (int *)matloc(n * sizeof(int);if (S-elem = NULL) return -1;S-max = n;_(1)_= 0;return 0;int Push(St

5、ack*S,int item)/* 将整数item压入栈顶 */ if(S-top = S-max) printf(Stack is full!n);return -1;_(2)_;item;return 0;int StackEmpty(Stack S) return(!S.top) ? 1;0;)/* 判断栈是否为空 */int Pop(Stack*S)/* 栈顶元素出栈 */ if (!S-top) printf(Pop an empty stack!n);return -1;)return _(3)_;void MultibaseOutput(long n,int B) int m;S

6、tack S;if (init Stack(&S,MAXSIZE) printf(Failure!n);return;do if (Push(&s,_(4)_) printf(Failure!n);return;n = _(5)_: while (n != 0);while (!StackEmpty(S)/* 输出B进制的数 */m = Pop(&S);if (m 10) printf(Kd,m);/* 小于10,输出数字 */else printf(%c,m + 55); /* 大于或等于10,输出相应的字符 */printf(n); 试题五阅读以下应用说明及Visual Basic程序代码

7、,将应填入_(n)_处的字句写在答题纸的对应栏内。应用说明5.1本应用程序的窗体中有一个下拉式列表框(名称为Combol)和两个文本框(名称分别为Txtl和Txt2)。运行时,用户从Combol的列表中进行选择,程序就会将选中条目的内容以及编号(从0开始)分别在文本框 Txt1 和 Txt2 中显示出来。程序代码5.1Private Sub Combol_C1ick()Txtl.Text = Combol._(1)_Txt2.Text = Combol._(2)_End Sub(注:可供(2)处选择的选项:List,Index,Listlndex,ListCount,Number)应用说明5.

8、2本应用程序的运行窗口如下图所示: 当用户在输入框(名为Txtln)中输入数值数据,并从下拉式列表框(名为CmbOp)中选择所需的运算后,输出框(名为TxtOut)中就会显示运算的结果。用户单击“清除”按钮(名为CmdClear)后,输入框和输出框都清空。开发该应用的部分程序代码如下:程序代码5.2Private Sub CmbOp_Click()Dim DataIn As Double,DataOut as DoubleDataIn = _(3)_Select Case _(4)_Case 取整数部分DataOut = Int(Dataln)Case 求平方根If Dataln next |

9、 !Lb-next | lennext; prep = La;while (p & p-key != keyl)/* 查找表A中键值为key1的结点 */prep = p; p = p-next;if (!p) return -1;/* 表A中不存在键值为key1的结点 */q = p; k = 1;while (q & _(1)_)/* 在表A中找出待删除的len个结点 */_(2)_: k+;if (!q) return -1;/* 表A中不存在要被删除的len个结点 */ S = Lb-next;_ (3)_;while (s & s-key != key2)/* 查找表B中键值为key

10、2的结点 */pres = s; s = s-next;if (!s)return -1;/* 表B中不存在键值为key2的结点 */_(4)_q-next;/* 将表A中的len个结点删除 */q-next:_(5)_pres-next = p;/* 将len个结点移至表B */return 0; 试题七阅读以下应用说明、属性设置及VisualBasic程序代码,将应填入_(n)_处的字句写在答题纸的对应栏内。应用说明7本应用程序的运行窗口如下图所示: 只要用户单击“闪烁”按钮,文字“欢迎光临”就会以0.3秒消失、0.3秒显示反复进行闪烁;单击“停止”按钮时,闪烁停止,恢复图示的初态。在开发

11、过程中,需要设置的属性如下:属性设置7 对象对象名属性名属性值窗体Frm1Caption闪烁显示演示标签Labe1Caption欢迎光临命令按钮CmdFCaption闪烁命令按钮CmdTCaption停止定时器Timer1Enabled_(1)_Interval_(2)_在开发过程中,需要编写的程序代码如下;程序代码7Private Sub CmdF Click()Timerl._(3)_ = TrueLabel.Visible = FalseEnd SubPrivate Sub Timerl_ Timer()_(4)_ = not Label.VisibleEnd SubPrivate Su

12、b CmdT Click()Timerl.Enabled = _(5)_Label.Visible = trueEnd Sub 从下列的2道试题(试题八至试题九)中任选1道解答,如果解答的试题数超过1道,则题号小的1道解答有效。试题八阅读下列程序说明和C程序,将应填入_(n)_处的字句写在答题纸的对应栏内。程序8说明程序8用于计算某公司每个职工应缴纳的个人所得税额和全体职工缴纳的个人所得税总额。职工的当月收入(工资或薪金)通过键盘输入,每次输入一个职工的工号和工资(或薪金)。由于该公司的工资或薪金是不定时发放的,所以输入过程中每个职工的收入会出现多次输入,整个输入以工号小于等于0结束。假设个人

13、所得税法规定;个人收入所得,按月计税,以每月收入总额减除免税金额800元后的余额作为该月的月应纳税所得额,适用税率如下表所示。级数月应纳税所得额适用税率()123456789不超过500元的部分501元2000元的部分2001元5000元的部分5001元20000元的部分20001元40000元的部分40001元60000元的部分60001元80000元的部分80001元100000元的部分超过100000元的部分51015202530354045上表表明,个人收入所得税是按照超额累进的税率来征收的。设一个人的月应纳税所得额为K(元),用下面的公式计算其应缴纳的个人所得税额S(元):若0K50

14、0,则S=K5;若500K2000,则S=5005+(K500)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元。程序8#include#define MaxNum 50#define BASE 800/*免税金额基数*/int paylevel=0,500,2000,5000,20000,40000,60000,8000

15、0,100000,100000:int taxPrate=5,10,15,20,25,30,35,40,45): /*税率表*/typedef structint ld;/*职工的工号*/ long Salary;/*职工的工资*/Info;/* 查找工号为Id的职工在数组employee中的下标,返回值为0表示没有 */int find(int ld,Info employee,int m)int j;employee0.Id=Id;for(jm;_(1)_;j-);return j;void main(void) Info employeeCHaxNum+1;long Wage;doubl

16、e sum s 0,K,S:int i,j,N0,Code;scanf(Mld,&Code,&Wage); /*读入职工号、工资或薪金*/while(Code0)ifind(Code,employee,N);if (i0)employeei.Salary += Wage:else_ (2)_;employeeN.IdCode;employeeN.SalaryWage;scanf(dld,&Code,&Wage):for(i1;i 0) for (j1;j9;j+)if(_(4)_)/*月应纳税所得额超过第j级*/SS+(paylevelj-paylevelj-1)*taxPratej-1/10

17、0;elseSS+(_ (5)_)*taxPratej-1/100;break;printf(职工d应缴纳的个人所得税额:10.21fn,employeei.Id,S);sum += S;printf(全体职工个人所得税总额:10,21fn,sum);试题九阅读以下应用说明及VisualBasic程序代码,将应填入_(n)_处的字句写在答题纸的对应栏内应用说明9本应用程序的运行窗口如下图所示:窗口中的三个文本框和两个按钮名称分别为Txt_salary、Txt_base、ht_tax、Cmd compute和Cmd_quit运行时,文本框Txt_base中存放的是免税金额基数(应扣除的基本费用)

18、。当用户在文本框ht_salary中输入月收入(工资或薪金)并单击“计算”按钮Crud_compute后,Txt_tax框中就显示计算所得的应纳税额。文本框Txt_base和Txt_tax在运行时不接受用户输入,Txt_base的内容以灰色显示。个人工资(或薪金)所得税是按照超额累进的税率来征收的,方法是:以每月收入总额减去免税金额基数后的余额作为该月的月应纳税所得额,再将应纳税所得额按相应级数采用相应的税率进行累进计算目前的免税金额基数为800元,税率如下表所示:个人工资(或薪金)所得税是按照超额累进的税率来征收的,方法是:以每月收入总额减去免税金额基数后的余额作为该月的月应纳税所得额,再将

19、应纳税所得额按相应级数采用相应的税率进行累进计算目前的免税金额基数为800元,税率如下表所示:级数月应纳税所得额适用税率()123456789 不超过500元的部分 501元2000元的部分 2001元5000元的部分 5001元20000元的部分 20001元40000元的部分 40001元60000元的部分 60001元80000元的部分 80001元100000元的部分 超过100000元的部分51015202530354045设一个人的月应纳税所得额为K(元),用下面的公式计算其应缴纳的个人所得税额S(元):若0K500,则S=K5;若500K2000,则S=5005+(K500)10:若2000K5000,则S=5005+150010+(K-2000)15:若50000)ThenFor j1 To 9If_(2)_ThenSS+(paylevel(j)-paylevel(j-1)*taxPrate(j-1)/100ElseSS+(_(3)_)*taxPrate(j-1)/100Exit ForEnd lfNext jEnd lf_(4)_Str$(S)End SubPrivate Sub Cmd_quit_C1ick()EndEnd SubPrivate Sub Form_Load()Txt_tax.Text = Txt_salary.Text =

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2