阅读以下说明和C代码,填写代码中的空(1)~(6),将解答写入答题纸的对应栏内。

资格题库2022-08-02  29

问题 阅读以下说明和C代码,填写代码中的空(1)~(6),将解答写入答题纸的对应栏内。下面的C代码在输入的100个英文单词中找出最小单词和最大单词。约定每个单词是仅由英文字母构成的字符串,且都不超过20个字符。单词的大小按照字典序定义。例如,单词“entry”大于“enter”、“art”小于“article”、“an”等于“An”。

选项

答案

解析 (1)word
(2)usr_strcmp(word,maxWord)
(3)usr_strcmp(word,minWord)
(4)ch-'A'
(5)*s1!='\0'&&*s2!='\0'或*s1||*s2等价表示
(6)*s2!='\0'或*s2等价表示
解析:(1)scanf函数是将输入的数据赋值给相应的变量,在格式字符串后需要取变量地址,即将数据赋值给相应地址的变量,word是数组名,表示数组的首地址,因此可以直接作为地址。
(2)调用usr_strcmp比较单词,当usr_strcmp返回的值为正整数时,调用usr_strcpy将word值赋值给maxWord,因此此处是比较word和maxWord,即usr_strcmp(word,maxWord)。
(3)调用usr_strcmp比较单词,当usr_strcmp返回的值为负整数时,调用usr_strcpy将word值赋值给minWord,因此此处是比较word和minWord,即usr_strcmp(word,minWord)。
(4)toLower函数是将大写字母转换为小写字母,if函数是判断ch是否为大写字母,当ch为大写的时候,将ch转换为小写,小写是在'a'的基础上加上一个值得到,例如'b'=1+'a',这个值便是大写字母和'A'之间的差值,即例子中1为'B'-'A',因此此处填写ch-'A'。
(5)usr_strcmp是比较两个英文单词,是需要对s1和s2中的字符逐一比较,因此在for循环中进行比较,for循环的判断条件是s1和s2中的字符是否为'\0',因此此处填写*s1!='\0'&&*s2!='\0'。
(6)usr_strcpy是将s2复制给s1,是需要将s2中的字符逐一赋值给s1,因此在for循环中进行赋值,for循环的判断条件是s2中的字符是否为'\0',因此此处填写*s2!='\0'。
转载请注明原文地址:https://www.tihaiku.com/congyezige/2426429.html

最新回复(0)