首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放
给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放
admin
2019-09-02
73
问题
给定程序中,函数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全国计算机二级
相关试题推荐
fun的功能是进行数字字符转换。若形参ch中是数字字符’0’~’9’,则’0’转换成’9’,’1’转换成’8’,’2’转换成’7’,……,’9’转换成’0’;若是其他字符则保持不变;并将转换后的结果作为函数值返回。请在程序的下划线处填入正确的内容
请编一个函数fun(char*s),函数的功能是把s所指字符串中的内容逆置。例如:字符串中原有的字符串为:abcdefg,则调用该函数后,串中的内容为:gfedcba。注意:部分源程序存在文件PROG1.C中。请勿改动主函数m
请编写函数fun,函数的功能是求出二维数组周边元索之和,作为函数值返回。二维数组中的值在主函数中赋予。例如:二维数组中的值为:1357929994699981
阅读以下程序#includemain(){intcase;floatprintf;printf("请输入2个数:"):scanf("%d%f",&case,&printF);printf("%d%f\n",case,printF);}
有以下程序#inchdeintfuna(inta,intb){returna+b;)intfunb(inta,intb){returna-b;}intsss(int(*t)(),intx,inty){retur
软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是
下面选项中合法的字符常量是
若以下选项中变量全部为整型变量,且己正确定义并赋值,则语法正确的switch语句是
若变量已正确定义,在if(W)printf("%d\n",k);中,以下不可替代W的是
关于C语言标识符,以下叙述错误的是()。
随机试题
下列句子中的宾语属于受事的是()。
患儿,男,4岁。突然挤眉、噘嘴、摇头、挺胸1年,每次持续1~2分钟,有时伴有气喘声,意识清醒,情绪激动或紧张时加重,入睡后或专注于学习、玩耍时少见。头部MRI:未见明显异常。患儿既往体健,无传染病感染史。该病的中医病因一般不包括
10个月的患儿,平时很少户外活动,近来多汗,烦躁易哭。查体:前囟大3cm×3cm,乳牙未萌出,方颅,应避免
内脏痛具有的特征是()。
大型河流的深水基础,覆盖层较薄、平坦的岩石河床宜使用()。
某公司与某施工企业签订了一份办公楼建设工程承包合同,开工后不久,该公司向施工企业发出缩短工期的变更通知,则______。
某企业2011年3月31日银行存款日记账余额240000元,银行对账单余额258000元。经逐笔核对,发现有几笔未达账项:(1)企业偿还甲公司货款30000元已登记入账,但银行尚未登记入账。(2)企业收到销售商品款34000元已登记入账,但银行尚未登记
X企业本月收到上期产品赊销款15万元,本期销售产品30万元,收到货款26万元,余款尚未收到,本期对外出售不需用的原材料收到款项1万元。按照权责发生制原则,该企业本月实现的主营业务收入为()万元。
某村附近一化工厂超标排放污水,致农作物大幅减产,多次被该县环境保护主管部门处理。去年村民李某患了癌症,认为所患疾病与化工厂排污有关,遂向人民法院提起诉讼,要求化工厂停止生产,并赔偿各项损失共计50万元。李某提交了诊断证明、污水样品的监测报告,化工厂辩称,本
Whenyougetaminorburn,poursomecoldwateronit,whichwillhelp_________thepainoftheburn.
最新回复
(
0
)