- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2017上半年程序员下午题
1 阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。【说明】下面流程图的功能是:在给定的一个整数序列中查找最长的连续递增子序列。设序列存放在数组A[1:n](n≥2)中,要求寻找最长递增子序列A[K:K+L一1](即A[K]<A[K+1]<…<A[K+L一1])。流程图中,用Kj和Lj分别表示动态子序列的起始下标和长度,最后输出最长递增子序列的起始下标K和长度L。例如,对于序列A={1,2,4,4,5,6,8,9,4,5,8},将输出K=4,L=5。【流程图】注:循环开始框内应给出循环控制变量的初值和终值,默认递增值为1,格式为:循环控制变量=初值,终值
2 阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
下面的代码运行时,从键盘输入一个四位数(各位数字互不相同,可以有0),取出组成该四位数的每一位数,重组成由这四个数字构成的最大四位数max4和最小四位数min4(有0时为三位数),计算max4与min4的差值,得到一个新的四位数。若该数不等于6174,则重复以上过程,直到得到6174为止。
例如,输入1234,则首先由4321-1234,得到3087;然后由8730-378,得到8352;最后由8532-2358,得到6174。
【C代码】
#includeStdio.h
int difference(int a[])
{ int t,i,j,max4,min4;
for(i=0;i<3;i++){/*用简单选择排序法将a[0]~a[3]按照从大到小的顺序排列*/
t=i;
for(j=i+1;___________(1);j++)
if(a[j]>a[t])__________(2);
if(t!=i) {
int temp=a[t]; a[t]=a[i]; a[i]=temp;
}
}
max4=___________(3);
min4=___________(4);
return max4-min4;
}
int main()
{ int n,a[4];
printf(input a positive four-digit number:);
Scanf(%d,n);
while(n!=6174){
a[0]=__________(5); /*取n的千位数字*/
a[1]=n/100%10; /*取n的百位数字*/
a[2]=n/10%10; /*取n的十位数字*/
a[3]=__________(6); /*取n的个位数字*/
n=difference(a);
}
return 0;
}
3 阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
对一个整数序列进行快速排序的方法是:在待排序的整数序列中取第一个数作为基准值,然后根据基准值进行划分,从而将待排序列划分为不大于基准值者(称为左子序列)和大于基准值者(称为右子序列),然后再对左子序列和右子序列分别进行快速排序,最终得到非递减的有序序列。函数quicksort(int a[],int n)实现了快速排序,其中,n个整数构成的待排序列保存在数组元素a[0]~a[n一1]中。
【C代码】
#includestdio.h
Void quicksort(int a[], int n)
{
int i,j;
int pivot=a[0]; //设置基准值
i=0;j=n一1;
while (i<j){
while(i<j&&___________(1)) j--; //大于基准值者保持在原位置
if (i<j) { a[i]=a[j];i++;)
while(i<j&&__________(2)) i++; //不大于基准值者保持在原位置
if (i<j) {a[j]=a[i];j--;}
}
a[i]=pivot; //基准元素归位
if(i>1)
___________(3); //递归地对左子序列进行快速排序
您可能关注的文档
- 采购查检记录管理制度.docx
- 采购文件附表.doc
- 采购程序文件.doc
- 采购管理-期末复习提纲.doc
- 重力、弹力、摩擦力习题.doc
- 重型埋设件在炼钢大包回转台施工中的快速安装技术研制报告(新版).doc
- 重大传染病预防知识.docx
- 重大农产品质量安全事故应急预案.doc
- 重在版-六年级英语期末考试题.doc
- 重大安全风险管控措施落实情况检查.docx
- 江苏省苏州工业园区2024-2025学年八年级下学期期末调研英语试卷(含答案,无听力原文及音频).pdf
- 江苏省常州高级中学2024-2025学年高一下学期6月期末考试信息技术试卷(含答案).pdf
- 天津市西青区当城中学2024-2025学年高二下学期6月月考英语试题(含答案).pdf
- 湖南省岳阳市湘阴县长仑四校2024-2025学年八年级下学期6月期末道德与法治试题(含答案).pdf
- 江西省新余市实验中学2024-2025学年高三下学期5月冲刺模拟历史试题(含答案) (1).pdf
- 浙江省嘉兴市2024-2025学年高二下学期期末检测历史试题(含答案).pdf
- 暑假备战高考英语全国猜题卷五.pdf
- 江苏省淮安市涟水县 2024-2025学年七年级下学期期末道德与法治试卷(含答案).pdf
- 江苏省宿迁市泗阳县2024-2025学年高二下学期期末考试政治试卷(含答案).pdf
- 江西省新余市实验中学2024-2025学年高三下学期5月冲刺模拟历史试题(含答案).pdf
文档评论(0)