1、国家三级(网络技术)机试-试卷 69 及答案解析(总分:2.00,做题时间:90 分钟)一、程序设计题(总题数:1,分数:2.00)1. (分数:2.00)_国家三级(网络技术)机试-试卷 69 答案解析(总分:2.00,做题时间:90 分钟)一、程序设计题(总题数:1,分数:2.00)1. (分数:2.00)_正确答案:(正确答案: )解析:解析:定义字符数组 line80、word80和字符指针变量 p,循环整型变量 i、j。 在 for 循环语句中,循环变量 i 从 0 开始,依次递增直到其值等于 maxline,实现对文章每行字符串的如下处理。调用内存分配函数 memset 给字符数组
2、 line 和 word 在内存中分配 80 个字符空间的大小。使指针变量 p 指向字符串 xxi的头,变量 j 的初值设为 0。利用 while 循环语句,当指针变量 p 没有到达 xxi的结尾时,一直执行如下的操作:当*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中,再进行对文章下一行的处理。