国家三级(网络技术)机试模拟试卷 170及答案与解析 一、程序设计题 1 国家三级(网络技术)机试模拟试卷 170答案与解析 一、程序设计题 1 【正确答案】 【试题解析】 首先定义两个循环变量 i、 j;一个用来保存结构体变量长度的计算结果的变量 len;一个用于中间转换数据的结构体变量 tmp。 计算结构体变量长度,并按结构体变量 tmp分配 len大小的内存空间。 建立两个 for循环,指定第一个 for循环的循环变量 i从 0开始,到 100时结束,每循环一次,变量 i的值加 1;第 2个 for循环的循环变量 j从 i+1开始,即从当前行的下一行开始,到 100时结束,每循环一次,变量 j的值加 1。 在循环体中指定排序的条件,分两个步骤指定,第一步通过 strcmp()函数判断第 i行的产品代码与其后面各行中产品代码的大小关系;第二步,如果比较的两行中产品代码 相同的话,则再比较金额的大小。当第 i行的产品代码小于后面比较行的产品代码,又或者产品代码相同时,第 i行的金额小于后面比较行的金额时,将执行 if条件语句后面花括号中的命令,花括号中 3条命令的功能就是根据题目要求实现将记录从大到小的排序。