1、国家三级(网络技术)机试模拟试卷 182及答案与解析 一、程序设计题 1 国家三级(网络技术)机试模拟试卷 182答案与解析 一、程序设计题 1 【正确答案】 【试题解析】 定义字符数组 line80、 word80和字符指针变量 p,循环整型变量 i、 j。 在 for循环语句中,循环变量 i从 0开始,依次递增直到其值等于 maxline,实现对文章每行字符串的如下处理。调用内存分配函数 memset给字符数组 line和word在内存中分配 80个字符空间的大小。使指针变量 p指向字符串 xxi的头,变量 j的初值设为 0。利用 while循环语句,当指针变量 p没有到达 xxi的结尾时
2、,一直执行如下的操作:当 *p是字母 时,把 *p赋给字符数组 line,同时字符数组下标 j加 1,字符指针 p加 1,指向下一个字母。直到 *p是单词间的分隔符时,退出第二层 while循环。调用字符串连接函数 strcat()在字符串 line后面添加一个空格,实现用空格分隔各个单词,再把由前面的单词组成的字符串 word连接到当前单词的后面,实现按单词逆序排列。把重新组成的新的字符串利用函数 strcpy拷贝到 word中。调用函数 memset对字符数组 line在内存中重新分配 80个字符空间,并设置其下标从 0开始。当 *p非空且不是字母的情况下,指针 p加 1,指向其 下一个字符。依次循环,直到 xxi的结束。最后把对字符串 xxi的处理结果word拷贝到 xxi中,再进行对文章下一行的处理。