1、国家三级(网络技术)机试-试卷 54 及答案解析(总分:2.00,做题时间:90 分钟)一、程序设计题(总题数:1,分数:2.00)1. (分数:2.00)_国家三级(网络技术)机试-试卷 54 答案解析(总分:2.00,做题时间:90 分钟)一、程序设计题(总题数:1,分数:2.00)1. (分数:2.00)_正确答案:(正确答案: )解析:解析:定义循环变量 i、j、k 和整型变量 len、p。 第一层 for 循环中,循环变量 i 从 0 开始,依次递增直到其值等于 20,实现对 20 行数据的逐行处理。在循环体中,对于 i 行首先调用函数strlen(xxi)求得第 i 行字符串的长度
2、并把其值赋给变量 len,再用 len 除以 2,得到第 i 行字符串长度的一半,赋给变量 p。在第二层 for 循环中,循环变量 j 从 0 开始,依次递过来增直到其值等于(p-1),在第三层 for 循环中,循环变量 k 从 j+1 开始,依次递过来增直到其值等于 p,比较字符 xxijASCII码值与 xxikASCII 码值的大小,如果字符 xxij的 ASCII 码值小于 xxik的 ASCII 码值,则两者进行互换实现对第 i 行字符串左半部分的字符串按降序排列。 用变量 len 的值对 2 求余数,如果余数为 1,则调用函数字符串拷贝函数 strcpy(),把从字符串 xxi+
3、p+1 开始直到字符串 xxi的结尾的子字符拷贝到字符串变量 str 中,再调用字符串连接函数 stmcat()把字符串 xxi的中间字符连接到字符串变量 str 的后面,再调用字符串连接函数 stmcat()把字符串 xxi的左半部分的子字符串连接到变量str 的后面;如果余数不等于 1,则调用字符串拷贝函数 strcpyl(),把从字符串 xxi+p 开始直到字符串 xxi的结尾的子字符拷贝到字符串变量 str 中,再调用字符串连接函数 stmcat()把字符串 xxi的左半部分的子字符串连接到变量 str 的后面,实现字符串 xxi左右部分子字符串的交换。 调用字符串拷贝函数 strcpy(),把字符串变量 str 的值拷贝到字符串 xxi,实现把排序后的结果仍按行重新存入字符串数组 xx 中。