导航
您当前的位置:首页 > 试卷大全 > 计算机类 > 计算机等级考试

2009年09月全国计算机等级考试三级网络技术机试真题及答案

类型:全真试卷  解析:有解析  年份:2010以前  ★收藏  ✚纠错

上机题

1、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码DM(字符型,4位)、产品名称MC(字符型,10位)、单价DJ(整型)、数量SL(整型)、金额JE(长整型)五部分组成。其中:金额=单价×数量。函数ReadDat()读取这100个销售记录并将其存入结构数组SELL中。请编制函数SortDat(),其功能要求为:按金额从小到大进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组距SELL中,最后调用函数WriteDat()把结果输出到文件OUT.DAT中。

    注意:部分源程序给出如下。

    请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

    [试题源程序]

    #include<Stdio.h>

    #include<string.h>

    #include<conio.h>

    #include<stdlib.h>

    #define MAX 100

    typedef Struct{

……此处隐藏967个字……  swap=sell[i];sell[i]=sell[j];sell[j]=swap;

    }

    elSe if(sell[i].je==sell[j].je)

    if(strcmp(sell[i].dm,sell[j].dm)<0)

    {

    swap=sell[i]; sell[i]=sell[j]; sell[j]=swap;

    }

    }

    }

[解析]

    本题主要考查的是产品因素的比较排列问题。和冒泡排序法相似,用一个两重for循环来实现。第一个for循环用来遍历每个结构体(除了最后一个),第二个for循环用来遍历某个结构体sell[i]之后的每个结构体sell[j],将两者的je进行比较。如果sell[i].je大,则使用临时变量swap来交换两者的位置;如果相等,则再比较sell[i].dm和sell[i].dm,如果前者小,则交换位置。字符串的比较通过strcmp()函数进行,若两个字符串相等则返回0,如果前者大于后者则返回一个正整数,否则返回一个负整数。

 

Tags:三级网络技术机试 石油党建“每日答题”2019年9月26日试题及答案 石油党建“每日答题”2019年9月27日试题及答案 石油党建“每日答题”2019年9月29
您可能感兴趣的试卷
相关试卷
关于我们 | 用户指南 | 版权声明 | 给我留言 | 联系我们 | 积分商城 | 答案求助 | 网站地图
Copyright © 2024 www.daanwo.com All Rights Reserved