首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放
给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放
admin
2019-09-02
62
问题
给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include <stdio.h>
#include<string.h>
#define N 5
#define M 8
void fun(char(*ss)[M])
{char*ps[N],*tp;int i,j,k;
for(i=0;i<N;i++)ps
=ss
;
for(i=0;i<N-1;i++) {
/**********found**********/
k=___1___;
for(j=i+1;j<N;j++)
/**********found**********/
if(strlen(ps[k])<strlen(___2___))k=j;
/**********found**********/
tp=ps
;ps
=ps[k];ps[k]=___3___;
}
printf("\nThe string after sorting by length:\n\n");
for(i=0;i<N;i++)puts(ps
);
}
main()
{char ch[N][M]={"red","green","blue","yellow","black"};
int i;
printf("\nThe original string\n\n");
for(i=0;i<N;i++)puts(ch
);
printf("\n");
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(strlen(ps[k])y<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/vORp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
给定程序MODI1.C中函数fun的功能是:求整数x的y次方的低3位值。例如,整数5的6次方为15625,此值的低3位值为625。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得
给定程序中,函数fun的功能是建立一个NxN的矩阵。矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。例如,若N=5,生成的矩阵为:111111
给定程序MODI1.C中函数fun的功能是:判断ch中的字符是否与s仃所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后。请改正程序中的错误,使它能进行正确的操作。注意:不要改动main函数,不得增行或删行,也不得更
以下选项中不能用作C程序合法常量的是
有以下程序#includevoidf(int*p,int*q);main(){intm=1,n=2,*r=&m;f(r,&n);printf("%d,%d",m,n);}voidf(int*p,int*q){p=
下面不属于软件设计阶段任务的是
若有定义语句charc=’\101’;则变量C在内存中占
若k是int类型变量,且有以下for语句1for(k=-1;k<0;k++)printf("*\n");下面关于语句执行情况的叙述中正确的是
在DOS环境下,代表键盘和显示器的设备文件名为
当用户要求输入的字符串中含有空格时,应使用的输入函数是
随机试题
分配定律不适用于溶质在水相和有机相中有多种存在形式,或在萃取过程中发生离解、缔合等反应的情况。()
第一斜位又称为
消化液的作用不包括
A.小肠B.骨骼C.肾脏D.肝脏E.皮肤合成1,25-(OH)2-D3的器官是
左心衰竭发生呼吸困难的主要机制是
在下列有关可转让信用证的说明中,错误的说法是()。
网络犯罪指行为人运用计算机技术,借助网络对系统或信息进行攻击破坏,故意实施触犯有关法律规范的行为。下列不属于网络犯罪的是()。
Mr.Jones,Iamreallypleased______you.AndIhopewewillbeabletoseeeachotherinnotlongtime.
A—costpriceJ—guaranteedpriceB—factorypriceK—cashpriceC—netpriceL—marketpriceD—pricefreeonboardM—preferentialpri
WhenIsawJane,Istoppedandsmiled,butshe______meandwalkedon.
最新回复
(
0
)