阅读以下说明和C代码,填写代码中的空(1)~(6),将解答写入答题纸的对应栏内。【说明】下面的C代码在输入的100个英文单词中找出最小单词和最大单词。约定每个单词是仅由英文字母构成的字符串,且都不超过20个字符。单词的大小按照字典序定义。例如,单词“entry”大于“enter”、“art”小于“article”、“an”等于“An”。【C代码】#include<stdio.h>#defineNUMBER100intisValid(constchar*s1);//若字符串s1仅包含英文字母则返回1,否则返

欢迎免费使用小程序搜题/刷题/查看解析,提升学历,成考自考报名,论文代写、论文查重请加客服微信skr-web

阅读以下说明和C代码,填写代码中的空(1)~(6),将解答写入答题纸的对应栏内。【说明】下面的C代码在输入的100个英文单词中找出最小单词和最大单词。约定每个单词是仅由英文字母构成的字符串,且都不超过20个字符。单词的大小按照字典序定义。例如,单词“entry”大于“enter”、“art”小于“article”、“an”等于“An”。【C代码】#include<stdio.h>#defineNUMBER100intisValid(constchar*s1);//若字符串s1仅包含英文字母则返回1,否则返回0chartoLower(charch);//将大写字母转换为小写字母intusr_strcmp(char*s1,char*s2);//比较字符串s1和s2,相等时返回0,//s1大则返回正整数,s1小则返回负整数voidusr_strcpy(char*s1,constchar*s2);//字符串s2拷贝给s1intmain(){charword[32];charmaxWord[32]="",minWord[32]="";intnumWord=0;while(numWord<NUMBER){scanf("%s",(1));//输入一个单词存入wordif(isValid(word)){if(0==numWord){usr_strcpy(minWord,word);usr_strcpy(maxWord,word);}numWord++;if((2)>0)//调用usr_strcmp比较单词usr_strcpy(maxWord,word);//用maxWord记下最大单词elseif((3)<0)//调用usr_strcmp比较单词usr_strcpy(minWord,word);//用minWord记下最小单词}}printf("maxWord=%sminWord=%s\n",maxWord,minWord);return0;}intisValid(constchar*s){for(;*s;s++)if(!(*s>='a'&&*s<='z')&&!(*s>='A'&&*s<='Z'))return0;return1;}chartoLower(charch){//若ch为大写字母则返回其小写形式,否则直接返回原字符if(ch>='A'&&ch<='Z')ch=(4)+'a';returnch;}intusr_strcmp(char*s1,char*s2){//按字典序比较两个英文单词,若s1表示的单词大,则返回正整数,//若s1表示的单词小,则返回负整数;否则返回0for(;(5);){if(toLower(*s1)==toLower(*s2)){s1++,s2++;}elsebreak;}return(toLower(*s1)-toLower(*s2));}voidusr_strcpy(char*s1,constchar*s2){//将s2表示的字符串复制给s1for(;(6);)*s1++=*s2++;*s1='\0';}

(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’

访客
邮箱
网址

通用的占位符缩略图

人工智能机器人,扫码免费帮你完成工作


  • 自动写文案
  • 自动写小说
  • 马上扫码让Ai帮你完成工作
通用的占位符缩略图

人工智能机器人,扫码免费帮你完成工作

  • 自动写论文
  • 自动写软件
  • 我不是人,但是我比人更聪明,我是强大的Ai
Top