首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
admin
2015-06-08
103
问题
给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构!
#include
#include
#define N 5
#defime M 8
void fun(char(*ss)[M])
{ char * ps[N],*tp;int i,j,k;
for(i=0;i
=ss
;
for(i=0; i
/**********found***********/
k= ___1___;
for(j=i+1 ; j
/**********found***********/
if(strlen(ps[k])
(___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
);
}
main()
{ char ch[N][M]={“red”,“green”,
“blue”,“yellow”,“black”};
int i ;
printf(“\nThe original string\n\n”);
for(i=0;i
);
printf(“\n”);
fun(ch);
}
选项
答案
(1)i (2)ps[j] (3)tp
解析
本题中函数fun的功能是利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。在fun函数中采用了选择排序法,在选择排序法中的降序排序,首先从数组中挑选一个最大的元素,把它和第一元素交换,接着从剩下的n—1个元素中再挑出一个最大的元素,把它和第二个元素交换,不断重复以上过程,直到比较完最后两个元素。
[解题思路]
第一空:分析可知,fun函数采用的选择排序,在第一空处是初始化k。“for([j=i+1;j
第二空:“if(strlen(ps[k])<strlen(____2____))k=j;”新的字符串ps
如果比ps[k]的长度长,那么k记录下新的最长的字
符串的下标位置j,故第二空处应为“ps[j]”。
第三空:“tp=ps
;ps
=ps[k];ps[k]=____3____;”是字符串地址交换,显然第三空处应是临时变量tp。
转载请注明原文地址:https://kaotiyun.com/show/wiJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序段:intx=3do{printf("%d",x-=2);}while(!(--x));其输出结果是()。
观察题目要求,可以知道以下几点:①for循环的结束条件应当是:str[i]已是字符串的最后一个字符;②str[i]代表字符串str中的第i+1个字符;③整形变量num的值是要记录的单词的个数。C语言中规定字符串的最后一个字符是一个隐含的字符串结束符
下列程序的输出结果是【】。intt(intx,inty,intcp,intdp){cp=x*x+y*y;dp=x*x-y*y;}main(){inta=4,b=3,c=5,d=6
下面程序的输出是【】。main(){enumem{em1=3,em2=1,em3};char*aa[]={"AA","BB","CC","DD"};printf("%s%s%s\n",aa[em1],aa[e
在C语言中,函数中变量的隐含存储类别是______。
下面程序的输出结果是______。main(){charstr[10],c=’a’;inti=0;for(;i<5;i++)str[i]=C++;printf("%s",str);}
有如下程序main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf("%f\n",
下面程序的输出结果是_______。unionun{inta[4];longb;charc[6];}main(){unionunu;printf("%d%d",s
请读程序:#include<stdio.h>func(inta,intb){intc;c=a+b;returnc;}main(){intx=
有以下程序(提示,程序中fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件末尾向前移2*sizeof(int)字节):#include<stdio.h>main(){FILE
随机试题
简述ENIAC的主要缺点。
对非特异性免役的描述,不正确的是
女性,25岁,妊娠38周,因车祸不幸腰部骨折,出现腰5节段以下部位瘫痪,但只能保守治疗,下列叙述错误的是
工程师王某在甲公司的职责是研发电脑鼠标。下列哪些说法是错误的?(2012年卷三第64题)
国家测绘局发布的()对互联网地图服务资质的条件进行了规定。
单位工程完工验收由()主持。
对于下列存货认定,通过向生产和销售人员询问是否存在过时或周转缓慢的存货,注册会计师最可能证实的是()。
当采用制动电阻提高电力系统中同步发电机并列运行的暂态稳定性时,下述说法中正确的有()。
公安机关的基本职能是专政职能和民主职能。( )
Chemistryisthestudyofthebehaviorandcompositionofmatter.Allfoodsaremadeupofchemicalsubstancewhichundergoes
最新回复
(
0
)