首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串,且串长<N。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结
给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串,且串长<N。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结
admin
2019-03-06
74
问题
给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串,且串长<N。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
1 #include<stdio.h>
2 #include<string.h>
3 #define M 5
4 #define N 20
5 int fun(char(*ss)[N],int *n)
6 { int i,k=0,len=N;
7 /**********found**********/
8 for(i=0;i< ___1___ ;i++)
9 {len=strlen(ss
);
10 if(i==0) *n=len;
11 /**********found**********/
12 if(len __2__*n)
13 {*n=len;
14 k=i;
15 }
16 }
17 /**********found**********/
18 return( __3__ );
19 }
20 main()
21 { char ss[M][N]={’’shanghai’’,’’guangzhou’’,’’beijing’’,’’tianjing’’,’’chongqing’’);
22 int n,k,i;
23 printf(’’\nThe original strings are:\n’’);
24 for(i=0;i<M;i++)puts(ss
);
25 k=fun(ss,&n);
26 printf(’’\nThe length of shortest string is:%d\n’’,n);
27 printf(’’\nThe shortest string is:%s\n’’,ss[k]);
28 }
选项
答案
(1)M (2)< (3)k
解析
函数fun的功能是求ss所指字符串数组中长度最短的字符串所在的行下标。求最短字符串所在的下标,一般假设第一个字符串的长度最短min,用k记录最长字符串的下标的话,开始时min=strlen(ss[0]),k=0,然后逐个比较其他字符串长度,如果字符串ss
长度比min小,则将min赋值为这个字符串长度,“k=i”,如此便可求得最短字符串和最短字符串所在的下标位置。
第一空:循环的目的是在M个字符串中寻找长度最短的字符串,因此,循环变量i从0变化到“M-1”,故第一空处应为“M”。
第二空:“*n”记录最小字符串的长度,由审题分析可知,字符串ss
长度比min小,则交换最小长度值和下标位置,故第二空处应为“<”。
第三空:变量k记录了最小字符串的下标位置,函数的返回值是最短的字符串所在的行下标,故第三空处应为“k”。
转载请注明原文地址:https://kaotiyun.com/show/qIRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
C语言中while和do-while循环的主要区别是______。
运行下列程序时,若输入数据为“321”,则输出结果是()。main(){intnum,i,j,k,s;scanf(“%d”,&num);if(num>99)s=3:
若有以下程序:main(){inta[4][4]={{l,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};inti,j,s=0;for(i
下面程序的运行结果是()。#include<stdio.h>#defineSIZE12main(){chars[SIZE];inti;for(i=0;i<SIZE;i++)s[i]=’A’+i+32;
设有以下定义:strucksk{inta;floatb;}data;int*p;若要使p指向data中的a域,正确的赋值语句是()。
分析下列程序:#include<stdio.h>main(){int*p1,*p2,*p;inta=6,b=9;p1=&a;p2=&b;if(a<b){p=p1;p1=p2;p2=p;}prin
下列选项中,不是一个算法的基本特征的是()。
最简单的交换排序方法是______。
Jackson方法是一种面向______的结构化方法。
下面的程序通过函数average计算数组中各元素的平均值,请填空。floatavetage(int*pa,intn) {inti; floatavg=0.0; for(i=0;i<n;i++); avg
随机试题
下列关于干扰电的说法中,正确的是
A.放线菌素B.甲氨蝶呤C.VCRD.环磷酰胺E.三苯氧胺生物碱类化疗药
执业医师法规定,医师有下列情形之一的,县级以上人民政府卫生行政部门应当依法给予表彰或奖励。其中不属于法定表彰或奖励的情形是()
所有完工的基本建设和技术改造项目都()。
净空高度6m、中危险级Ⅱ级的民用建筑自动喷水灭火系统的作用面积为()m2。
利用利率期货进行套期保值回避的是利率变动的风险。()
千年古刹南普陀寺位于()地区。
下列心理学研究方法中可以确定因果关系的是()
微型计算机的显示器显示西文字符时,一般情况下一屏最多可显示:
Yoga,theancientpracticeofpostures,breathingandmeditation,isgainingalotofattentionfromthematerialworldthati
最新回复
(
0
)