首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
admin
2019-03-06
40
问题
给定程序中,函数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://jikaoti.com/ti/okf0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
fun函数的功能是:首先对a所指的N行N列的矩阵,找出各行中的最大数,再求这N个最大值中的最小的那个数作为函数值返回。请填空______。#include<stdio.h>#defineN100intfun(int(*a)
函数调用语句:“fgets(buf,n,fp);”从fp指向的文件中读入,n个字符放到buf字符数组中,函数返回值为______。
下列程序的运行结果为【】。#include<math.h>#include<stdio.h>main(){ints=1;floatn=1,pi=0;doublet=1;
以下程序的输出结果是()。#include<stdio.h>voidfun(intx){if(x/2>0)fun(x/2);printf("%d",x);}main(){fun(
用树形结构来表示实体之间联系的模型称为()。
为了使模块尽可能独立,要求
将以下程序写成三目运算表达式是【】。if(a>b)max=a;elsemax=b;
最简单的交换排序方法是______。
下面程序的功能是两个整数进行交换,请填空。sub(int*x,int*y){【】z=*x;*x=*y;*y=z;return;}main(){intm,n,*t1,*t2;
以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。FILE*myf;longf1;myf=【】("test.t""rb");
随机试题
慢性肺心病急性加重期,关键性的治疗措施是应用
完全随机设计的单因素方差分析中,F处理>P0.05(v1,v2),统计推论是()
肾素抑制剂的作用机制有()。
有效毛收入乘数是估价对象房地产的()除以其有效毛收入所得的倍数。
初步评审后,导致投标被否决的情况包括()。
市政公用工程项目的施工组织设计是市政公用工程施工项目管理的重要内容,应在()编制完成。
统计行政诉讼是()对统计行政案件依法进行审理并做出裁决的活动。
流动资产投资的特点有()。
某工程项目公司的信息管理系统的部分关系模式如下:职工(职工编号,姓名,性别,居住城市);项目(项目编号,项目名称,状态,城市,负责人编号);职工项目(职工编号,项目编号)。其中:1)一个职工可以同时参与多个项目,一个项目需要多个职工参与。2)职
Londonhasbecomeacyclefriendlyzoneafterthelaunchofanewbikehirescheme.Ithasbeendesignedtoencouragemorepeopl
最新回复
(
0
)