首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
admin
2019-03-06
65
问题
给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
1 #include <stdio.h>
2 #include<string.h>
3 #define N 5
4 #define M 8
5 void fun(char(*ss)[M])
6 { char *ps[N],*tp;int i,j,k;
7 for(i=0;i<N;i++)ps
=ss
;
8 for(i=0;i<N-1;i++){
9 /**********found**********/
10 k=__1___;
11 for(j=i+1;j<N;j++)
12 /**********found**********/
13 if(strlen(ps[k])<strlen(___2___))k=j;
14 /**********found**********/
15 tp=ps
;ps
=ps[k];ps[k]=___3____;
16 }
17 printf(’’\nThe string after sorting by length:\n\n’’);
18 for(i=0;i<N;i++)puts(ps
);
19 }
20 main()
21 {char ch[N][M]={’’red’’,’’green’’,"blue’’,¨yellow","black¨),
22 int i;
23 printf(’’\nThe original string\n\n’’);
24 for(i=0;i<N;i++)puts(ch
);printf(’’\n’’);
25 fun(ch) }
选项
答案
(1)i (2)ps[j] (3)tp
解析
本题中函数fun的功能是利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。在fun函数中采用了选择排序法,在选择排序法中的降序排序,首先从数组中挑选一个最大的元素,把它和第一元素交换,接着从剩下的n-1个元素中再挑出一个最大的元素,把它和第二个元素交换,不断重复以上过程,直到比较完最后两个元素。
第一空:分析可知,fun函数采用的选择排序,在第一空处是初始化k。“for(j=i+1;j<N;j++)”循环是寻找长度最长的字符串,找到之后和k字符串交换,因此k从0开始,随着i变化,故第一空处应为“i”。
第二空:“if(strlenq(ps[k])<strlen(__2__))k=j;”新的字符串ps[j]如果比ps[k]的长度长,那么k记录下新的最长的字符串的下标位置j,故第二空处应为“ps[j]”。
第三空:“tp=ps
;ps
=ps[k];ps[k]=__3___;”是字符串地址交换,显然第三空处应是临时变量tp。
转载请注明原文地址:https://kaotiyun.com/show/0IRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序执行输出的结果是______。#include<stdio.h>f(inta){intb=0;staticc=7;a=c++;b++;return(a);}main()
下面程序的输出结果为()structst{intx;int*y;}*p;intdt[4]={10,20,30,40};structstaa[4]={50,&dt[0],6
下面程序段的运行结果是chara[]="lanuage",*p;p=a;while(*p!=′u′){printf("%c",*p-32);p++;}
在面向对象方法中,信息隐蔽是通过对象的()性来实现的。
软件测试分为白箱(盒)测试和黑箱(盒)测试。基本路径测试方法属于()测试。
最简单的交换排序方法是______。
以下函数返回a所指数组中最小的值所在的下标值fun(int*a,intn){inti,j=0,p;p=j;for(i=j;i
下面的程序实现的是指针p所指向的地址的n个数中,求出最大的和最小的数据,请填空。fun(int*p,intn){int*q;intmax,min;max=min=*p;for(q=p;【】
若按功能划分,软件测试的方法通常分为白盒测试方法和【】测试方法。
要正确定义并初始化一个数组a,它含有5个元素,则正确的语句是______。
随机试题
在工艺过程中,对()一般不作严格区别。
下列哪项不属于精神障碍护理学具备的特殊性【】
结核性胸腔积液的治疗过程中,进行胸腔穿刺抽液,每次抽液量不宜超过1000ml,是为了避免
物业管理合同的内容是为规范物业管理的行为。建设部制定了两种《物业管理委托合同》、《前期物业管理服务协议》的示范文本。物业管理合同和前期管理服务协议的主要内容包括:(1)当事人和物业的基本情况;(2)双方的权利义务;(3)物业管理服务事项和服务质量要求;(4
背景某机电施工单位承接一项炼油厂的塔体群安装工程,工程内容包括:各类塔体就位、各类管道、自动控制和绝热工程等。其中最高塔体为42m,最重塔体102t。合同工期为3个月,合同约定:如果合同工期每延误一天应罚10000元,如每提前一天奖励5000元。
某技术方案净现值流量如下表所示,投资主体设定的基准收益率为8%,基准静态投资回收期为3年。由此可以得到的结论有()。
2016年3月甲企业开始自行研发一项管理用非专利技术,至2016年12月31日研发成功并达到预定可使用状态,累计研究支出为560万元,累计开发支出为300万元(全部符合资本化条件)。该非专利技术预计使用10年,预计净残值为0,采用直线法计提摊销,假定不考虑
外国旅游者如需购买麝香,导游人员应该()。
TheMonarchbutterflytravels5,000kmeachyear.TheMonarchbutterflylooksfragile.
中国是一个农业大国,也是世界农业起源地之一。水稻和小麦等农作物都原产自中国。新中国成立后,政府十分重视农业生产,不断加大农业投入,加速了农业生产的现代化进程。因此,中国农业取得了辉煌的成就。中国各种农产品的产量增长很快,谷物、棉花、花生(peanut)的总
最新回复
(
0
)