首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C代码,填写代码中的空(1)~(6),将解答写入答题纸的对应栏内。 【说明】 下面的C代码在输入的100个英文单词中找出最小单词和最大单词。约定每个单词是仅由英文字母构成的字符串,且都不超过20个字符。单词的大小按照字典序定义。例弧,
阅读以下说明和C代码,填写代码中的空(1)~(6),将解答写入答题纸的对应栏内。 【说明】 下面的C代码在输入的100个英文单词中找出最小单词和最大单词。约定每个单词是仅由英文字母构成的字符串,且都不超过20个字符。单词的大小按照字典序定义。例弧,
admin
2020-04-30
62
问题
阅读以下说明和C代码,填写代码中的空(1)~(6),将解答写入答题纸的对应栏内。
【说明】
下面的C代码在输入的100个英文单词中找出最小单词和最大单词。约定每个单词是仅由英文字母构成的字符串,且都不超过20个字符。单词的大小按照字典序定义。例弧,单词“entry”大于“enter”“art”小于“article”“an”等于“An”,
【C代码】
#include
#define NUMBER 100
int isValid(const char *s1);//若字符串s1仅包含英文字母则返回1,否则返回0
char toLower(char ch); //将大写字母转换为小写字母
int usr_strcmp(char*s1,char*s2);//比较字符串s1和s2,相等时返回0,
//s1大则返回正整数,s1小则返回负整数
void usr strcpy(char*s1,const char*s2); //字符串s2拷贝给s1
int main()
{ char word[32];
char maxWord[32]="",minWord[32]="";
int numWord=0;
while(numWord<NUMBER){
scanf("%s", (1) ); //输入一个单词存入word
if(isValid(word)) {
if(0==numWord){usr_strcpy(minWord,word); usr strcpy(maxWord,word);}
numWord++;
if( (2) >0) //调用usr_strcmp比较单词
usr_strcpy(maxWord,word); //m maxWord记下最大单词
else
if( (3) <0) //调用usr_strcmp比较单词
usr strcpy(minWord,word); //用minWord记下最小单词
}
}
printf("maxWord=%s minWord=%s\n",maxWord,minWord);
return 0;
}
int isValid(const char*s)
{
for(;*s ; s++)
if(!(*s>=’a’&&*s<=’z’)&&!(*s>=’A’&&*s<=’Z’))
return 0;
return 1;
}
char toLower(char ch)
{ //若ch为大写字母则返回其小写形式,否则直接返回原字符
if(ch>=’A’&&ch<=’Z’)
ch= (4) +’a’;
return ch,
}
int usr strcmp(char*s1,char*s2)
{ //按字典序比较两个英文单词,若s1表示的单词大,则返回正整数,
//若s1表示的单词小,则返回负整数;否则返回0
for(; (5) ; ){
if (toLower(*s1)==toLower(*s2)) {s1++, s2++;}
else
break;
}
return(toLower(*s1)一toLower(*s2));
}
Void usr_strcpy(char *s1, const char *s2)
{ //将s2表示的字符串复制给s1
for(; (6) ; )
★s1++= ★s2++;
*s1= ’\0’;
}
选项
答案
(1)word或等效形式 (2)usr_strcmp(word,maxWord) (3)usr_strcmp(word,minWord) (4)ch一’A’或ch一65或等效形式 (5)*s1&&*s2或*s1!=’\0’&&*s2!=’\0’或等效形式 注:*s1可替换为s1[0]、*s2可替换为s2[0],’\0’可替换为0 (6)*s2或s2[0]或等效形式
解析
本题考查C程序流程控制、函数定义及调用和字符串运算。
在main函数中输入字符串,并调用字符串比较函数来判断两个字符串的大小关系,输入的第一个字符串既是最大的单词maxWord,也是最小的单词minWord。
代码中通过调用用户自定义函数的ust stromp(char*s1,char*s2)进行字符串的比较,使用自定义函数usr_strcpy(char*s1,const char*s2)实现字符串的复制。根据函数声明,当字符串s1和s2相等时函数usr strcmp返回0,s1大则返回正整数,s1小则返回负整数。
空(1)处应填入“word”或其等效形式“&word”。
空(2)处比较word和maxWord的大小,当word大于maxWord时更新maxWord的内容,即调用usr strcmp的结果应大于0,所以调用表达式为“usr_strcmp(word,maxWord)”,两个参数次序不正确时,其结果与程序要求的处理逻辑不相符。同理,空(3)处比较word和minWord的大小,当word小于minWord时更新minWord的内容,因此该空应填入“usr strcmp(word,minWord)”。
空(4)所在函数将大写字母转换为小写字母。在ASCII字符表中,大写字母“A”的编码是十进制数65,字母“B”的编码为66,依次类推,字母“Z”的编码为90;而小写字母“a”的编码是十进制数97,字母“b”的编码为98,其他小写字母依次类推。根据字母的编码规律可知,将大写字母的编码减去“A”的编码即可得到该字母的序号(从0开始),再加上小写字母“a”的编码,即可得到对应的小写字母编码,因此空(4)应填入“ch-‘A’”或其等效形式。
空(5)所在的函数实现两个字符串的比较,过程是两个字符串的第一个字符进行比较,若相同则继续比较它们的第二个字符,若不同则可以结束,然后根据这两个不同字符的大小来确定对应字符串的大小。如果其中的一个字符串先结束,则先结束的字符串小于另一个字符串,所以空(5)处应填入“*s1&&*s2”或其等效形式,确保所比较的两个字符串都可提供进行比较的字符。
空(6)所在的函数进行字符串复制处理,通过逐个字符的复制来完成,显然for语句的循环条件是被复制的字符串未结束,因此空(6)应填入“*s2”或其等效形式。
转载请注明原文地址:https://kaotiyun.com/show/L2jZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在Excel2010的A1单元格中输入函数“=IF(1<>2,1,2)”,按回车键后,A1单元格中的值为________________。
某商场在节日期间推出以下几种可供客户选择的促销方式:①100元可以购买标价130元的商品;②满100元立减10元,再打8折;③打7折;④满100元即可参加抽奖,中奖率100%。10%为一等奖,退100元;30%为二等奖,退50元;60%为三等奖,退10元。
在Excel的A1单元格中输入函数“=IF(12,1,2)”,按回车键后,A1单元格中的值为()。
在Excel的A1单元格中输入函数“=6+16+MAX(16,6)”,按回车键后,A1单元格中显示的值为__________。
Windows XP的许多应用程序的“文件”菜单中,都有“保存”和“另存为”两个命令。以下对这两个命令的叙述,正确的是(36)。
对同一事物进行多次测量所得的结果可能不一致,这是幽测量误差所致。利用______可使误差基本抵消。
自然数1,2,3,4,5中,任意两个数都可以算出平均值,其中有些平均值是相同的。那么,不同的平均值共有______个。
180的正约数(能整除180的自然数,包括l和180本身)的个数是________。
阅读以下说明,回答问题1至问题5,将解答填入答题纸对应的解答栏内。说明某公司内部有一个采用TCP/IP作为传输协议的100BASE-TX局域网,包括1台服务器和20台客户机,通过一台16端口的交换机与一台8端口共享集线器级连,其网络结构如图11所
阅读以下说明,回答问题1至问题4。说明某公司A楼高40层,每层高3.3米,同一楼层内任意两个房间最远传输距离不超过90米,A楼和B楼之间距离为500米,需在整个大楼进行综合布线,结构如图1-1所示。为满足公司业务发展的需要,要求为楼内客户机提供数
随机试题
Musiccomesinmanyforms;mostcountrieshaveastyleoftheirown.【C1】________theturnofthecenturywhenjazz(爵士乐)wasborn
医患关系可分为技术方面和非技术方面,下列选项中属于技术关系的是
神经嵴可衍化的细胞不包括
下列药物中。哪组药物具有回阳救逆的功效
新鲜使用的中药如
为了有效规避有担保流动资金贷款保证人还款能力发生变化的风险,贷款银行应当选择信用等级高、还款能力强的保证人,且保证人信用等级不能低于借款人,不接受股东之间和家庭成员之问的单纯第三方保证方式。()
发文字号按顺序排列是()。
自然界中不同生物之间的共生关系一般理解为“相互依存,互利互惠”,下列存在共生关系的是()。
已知A是3阶非零矩阵,若矩阵B=使得AB=0,又知A+3E不可逆,则秩r(A)+r(A+E)=_______.
Whydoesthewomanwanttogotothemovie?
最新回复
(
0
)