首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
admin
2019-03-06
84
问题
给定程序中,函数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全国计算机二级
相关试题推荐
函数调用语句:“fgets(buf,n,fp);”从fp指向的文件中读入,n个字符放到buf字符数组中,函数返回值为______。
设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为()。
设有定义:struct{charmark[12];intnuml;doublenum2;}tl,t2;,若变量均已正确赋初值,则以下语句中错误的是
下列程序的输出结果是______。#include<stdio.h>intt(intx,inty,intcp,intdp){cp=x*x+y*y;dp=x*x-y*y;}mai
若有定义:“inta=10,b=9,C=8;”接着顺序执行下列语句后,变量b中的值是________。c=(a-=(b-5)):c=(a%11)+(b=3);
在链表的运算过程中,能够使空表与非空表的运算统一的结构是______。
下面对C语言的描述中,正确的是
数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及
数据处理的最小单位是
下面的程序实现的是指针p所指向的地址的n个数中,求出最大的和最小的数据,请填空。fun(int*p,intn){int*q;intmax,min;max=min=*p;for(q=p;【】
随机试题
防风长于桑叶长于
在DDN网中,速率小于()kbiffs称为子速率。
孙辈的父母因故离开家长只留下祖辈和孙辈的家庭是()
与吸附力关系最密切的因素是
1型糖尿病的临床特点是
张某与厂方的纠纷可按( )处理。可变更合同在变更前属于( )的合同。
下列各项中,税务机关有权核定纳税人应纳税额的情形有()。
在某基金公司的晨会上,投资经理A提到:“可以通过投资股票、债券、期货等来分散基金的非系统性风险,且也可一定程度上降低系统性风险。”;投资经理B补充道:“系统性风险主要受宏观因素影响,应该加强对经济、政治和法律等因素的关注。”关于两人的说法,下列表述正确的是
WhatanimaldoesRepublicPartytakeasitssymbol?
已知总体X服从参数为λ的泊松分布,X1,X2,…,Xn是取自总体X的简单随机样本,其样本均值和样本方差分别为+(2-3a)S2是λ的无偏估计,则a=______。
最新回复
(
0
)