资源描述:
《计算机三级网络技术100道上机试题整理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、注意:l以下是100道上机考试题的题目和试题程序,答案用红色字体标出。l部分试题的答案和课本上给出的答案不完全相同,但是该答案也是正确的,不过对于初学者来说不容易理解。l该文档仅供复习使用,考试勿把电子版带进考场,否则后果自负。l该文档为笔者辛苦整理,切勿向外人传阅。第1套题:已知在文件IN1.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。其中:金额=单价×数量。函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。请编制函数
2、SortDat(),其功能要求:按产品名称从小到大进行排列,若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT1.DAT中。注意:部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。【试题程序】#include#include#include#include#include#defineMAX100typedefstruct{chardm
3、[5];/*产品代码*/charmc[11];/*产品名称*/intdj;/*单价*/intsl;/*数量*/longje;/*金额*/}PRO;PROsell[MAX];voidReadDat();voidWriteDat();voidSortDat(){inti,j;PROxy;for(i=0;i<99;i++)for(j=i+1;j<100;j++){if(strcmp(sell[i].mc,sell[j].mc)>0){xy=sell[i];sell[i]=sell[j];sell[j]=xy;}elseif(strcmp(sell[i].mc,sell[j].mc)=
4、=0)if(sell[i].je>sell[j].je){xy=sell[i];sell[i]=sell[j];sell[j]=xy;}}}main(){memset(sell,0,sizeof(sell));ReadDat();SortDat();WriteDat();}voidReadDat(){FILE*fp;charstr[80],ch[11];inti;fp=fopen("IN1.DAT","r");for(i=0;i<100;i++){fgets(str,80,fp);memcpy(sell[i].dm,str,4);memcpy(sell[i].mc,str+4,
5、10);memcpy(ch,str+14,4);ch[4]=0;sell[i].dj=atoi(ch);memcpy(ch,str+18,5);ch[5]=0;sell[i].sl=atoi(ch);sell[i].je=(long)sell[i].dj*sell[i].sl;}fclose(fp);}voidWriteDat(){FILE*fp;inti;fp=fopen("OUT1.DAT","w");for(i=0;i<100;i++)fprintf(fp,"%s%s%4d%5d%10ld",sell[i].dm,sell[i].mc,sell[i].dj,sell[
6、i].sl,sell[i].je);fclose(fp);}第2套题:已知在文件IN2.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。其中:金额=单价×数量。函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT2.DAT中。
7、注意:部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。【试题程序】#include#include#include#include#include#defineMAX100typedefstruct{chardm[5];/*产品代码*/charmc[11];/*产品名称*/intdj;/*单价*/intsl;/*数量*/longj