第一范文网 - 专业文章范例文档资料分享平台

初级程序员下午试题2015上半年及答案解析

来源:用户分享 时间:2026/1/6 12:03:09 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

初级程序员下午试题2015上半年及答案解析

(1/6)填空题 第1题

阅读以下说明和流程图,填补流程图中的空缺。 【说明】

下面流程图的功能是:在给定的两个字符串中查找最长的公共子串,输出该公共子串的长度L及其在各字符串中的起始位置(L一O时不存在公共字串)。例如,字符串“Thelight is not bright tonight”与“Tonight the light is not bri. ght”的最长公共子串为“he light isnot bright”,长度为22,起始位置分别为2和10。

设A[1:M]表示由M个字符A[l],A[2],…,A[M]依次组成的字符串;B[1:N]表示由N个字符B[l],B[2],…,B[N]依次组成的字符串,M≥N≥l。

本流程图采用的算法是:从最大可能的公共子串长度值开始逐步递减,在A、B字符串中查找是否存在长度为L的公共子串,即在A、B字符串中分别顺序取出长度为L的子串后,调用过程判断两个长度为L的指定字符串是否完全相同(该过程的流程略)。 【流程图】 图片 ______

下一题 (2/6)填空题 第2题

阅读以下说明和C函数,填补函数代码中的空缺。 【说明1】

函数f(double eps)的功能是:利用公式 图片

计算并返回π的近似值。 double f(double eps) {

double n一1一0, s = 1. 0, term = 1. 0, pi = 0. 0; while( fabs(term》一eps ){ pi=pi+term;

n=(1); s=(2); term=s /n; }

return pi*4; }

【说明2】

函数fun(char *str)的功能是:自左至右顺序取出非空字符串str中的数字字符,形成一个十进制整数(最多8位)。例如,若str中的字符串为“iyt?67kp f398d5. j4ia2e3p12”,则函数返回值为67385423。 I:C函数2]

long fun(char *str) {

int. i=0;

long num=0; char*p=str;

while(i<8 &&(3)){ if(*p>= ′0′ &&*p<= ′9′ ){ num=(4)+*p一′0′; ++i; }(5); }

return num; }_____

上一题 下一题 (3/6)填空题 第3题

阅读以下说明和C代码,填补代码中的空缺。 【说明】

下面的程序代码根据某单位职工的月工资数据文件(名称为Salary. dat,文本文件),通过调用函数Get1ncomeTax计算出每位职工每月需缴纳的个人所得税额并以文件(名称为IncomeTax. dat,文本文件)方式保存。

例如,有4个职工工资数据的Salary. dat内容如下,其中第一列为工号(整数),第2列为月工资(实数)。

1030001 6200. 00 1030002 5800. 00 2010001 8500. 00 2010010 8000. 00

相应地,计算所得IncomeTax. dat的内容如下所示,其中第3列为个人所得税额: 1030001 6200. 00 47. 20 1030002 5800. 00 35. 94 2010001 8500. 00 233. 50 2010010 8000. 00 193. 00

针对工资薪金收入的个人所得税计算公式为: 个人所得税额=应纳税所得额×税率一速算扣除数 其中,应纳税所得额=月工资一三险一金一起征点

税率和速算扣除数分别与不同的应纳税所得额对应,如表3一1所示。 图片

设三险一金为月工资的19%,起征点为3500元。

例如,某人月工资为5800元,按规定19%缴纳三险一金,那么:

其应纳税所得额X=5800一5800x19%一3500=1198元,对应税率和速算扣除数分别 为3%和0元,因此,其个人所得税额为1198×3%一0=35. 94元。

【C代码】

#include <stdio. h>

#define BASE 3500 //起征点

#define RATE 0. 19 //三险一金比例 (1); //声明函数GetIncomeTax int main() {

int id;

double salary; FILE *fin,*fout;

fin=fopen(\,\; if(

(2))return 0; fout=fopen \IncomeTax. dat\,\; if(

(3))return 0;

while(!feof(fin)){

if(fscanf(fin,\%lf\,(4))!=2)break;

fprintf(fout, \%d\\ too. 21f\\t%. 21f\\n\, id, salary,(5)); }

fclose(fin); fclose(fout); return 0; }

double GetIncomeTax(double salary) {

double yns_sd; yns_sd=

(6)一BASE; /*计算应纳税所得额*/ if(yns_sd<=0)return 0. 0;

else if(yns sd<=1500)return yr. cs_sd*0. 03; else if(yns sd<=4500)return yrs_sd*0. 1一105: else if(yns sd<=9000)return yns_sd*0. 2一555; else if(yns sd<=35000)return yns_sd*0. 25一1005; else if(yns sd<=55000)return yns_sd*0. 3一2755; else if(yns_sd<=80000)return yns_sd*0. 35一5505; return yns_sd*0. 45一13505; }_____

上一题 下一题 (4/6)填空题 第4题

初级程序员下午试题2015上半年及答案解析.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8qdn96ytlr507xn0uyq64mg6283nif00q2h_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top