全国计算机等级考试_三级信息管理技术上机程序

全国计算机等级考试_三级信息管理技术上机程序

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
三级信息管理技术上机程序解读 1.100个销售:结构数组和字符串比较 已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(), 其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT10.DAT中。 注意: 部分源程序存放在PROG1.C中。 void SortDat() /*标准答案*/ {int I,j; PRO xy; //定义结构体变量 for(I=0;I99;I++) //从第一个开始到倒数第二个 逐个取出产品销售纪录 for(j=I+1;j100;j++) //从第二个开始到最后 逐个取出 if(strcmp(sell[I].dm,sell[j].dm)0) // 结构数组产品代码成员 两两进行比较 {xy=sell[I];sell[I]=sell[j];sell[j]=xy;} //置换排序 else if(strcmp(sell[I].dm,sell[j].dm)= =0) if(sell[I].jesell[j].je) {xy=sell[I]; sell[I]=sell[j]; sell[j]=xy;} } /* strcmp(char *s1,char * s2); 功能说明*/ 比较字符串s1和s2。说明: 当s1s2时,返回值0 当s1=s2时,返回值=0 当s1s2时,返回值0 2.1.200个四位数:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 如果四位数各位上的数字均是0或2或4或6或8, 则统计出满足此条件的个数cnt, 并把这些四位数按从大到小的顺序存入数组b中。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义数组: a[200], b[200], 已定义变量: cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。 void jsVal() /*标准答案*/ {int bb[4]; //定义一个一维数组,长度为4; int I,j,k,flag; for (I=0;I200;I++) //---- BEGIN {bb[0]=a[I]/1000; //求除得整数,得到四位数中千位数 bb[1]=a[I]%1000/100; //先求余得余数,再求除得四位数中百位数 bb[2]=a[I]%100/10; //先求余得余数,再求除得四位数中十位数 bb[3]=a[I]%10; //求余得余数也就是个位数 for (j=0;j4;j++) { if (bb[j]%2==0) flag=1; //表示被2整除 数字是偶数,标志变量为1 else { flag=0;break; //如果四位数各位上的数字有一个非偶数则循环结束; } } if (flag==1) //得到满足条件的四位数的个数 { b[cnt]=a[I]; cnt++; //数组长度加1; } }//---------------------------得到满足条件的四位数代码END //==============================把满足条件的四位数排序 for(I=0;Icnt-1;I++) for(j=I+1;jcnt;j++) if (b[I]b[j]) {k=b[I];b[I]=b[j];b[j]=k;} //==============================结束 } /* 主要是各位数数字的取得和数字之间的组合和相关的比较 */ 2.2依次从数组a中取出一个四位数,如果该数连续大于该四位数以后的5个数且该数是奇数, 则统计出满足此条件的个数cnt, 并把这些四位数按从小到大的顺序存入数组b中。 并要计算满足上述条件的四位数的个数cnt

文档评论(0)

野草 + 关注
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档