计算机等级考试三级C语言上机试题总结上拆封拉线

2022-08-16 09:01

计算机等级考试三级C语言上机试题总结(上)

计算机等级考试三级C语言上机试题总结(上) 2011年12月10日 来源: 100个产品销售记录排序(此类共10题)code:/*已知在文件IN.DAT中存有100个产品销售记录, 每个产品销售记录由产品代码dm(字符型4位), 产品名称mc(字符型10位), 单价dj(整型), 数量sl(整型), 金额je(长整型)五部分组成。 其中:金额=单价*数量计算得出。函数ReadDat( )读取这100个销售记录并存入结构数组sell中。请编制函数SortDat( ), 其功能要求:

按金额从小到大进行排列, 若金额相等, 则按产品代码从小到大进行排列, 最终排列结果仍存入结构数组sell中。最后main( )函数调用函数WriteDat()把结果输出到文件OUT1.DAT中。

注意: 部分源程序存放在PROG1.C中。请勿改动主函数main( )、读数据函数ReadDat()和输出数据函数WriteDat()的内容。*/#include #include #include #include #include

#define MAX 100typedef struct {char dm[5] ; /* 产品代码 */char mc[11] ; /* 产品名称 */int dj ; /* 单价 */int sl ; /* 数量 */long je ; /* 金额 */} PRO ;PRO sell[MAX] ;void ReadDat() ;void WriteDat() ;

void SortDat(){/**/int i,j,k;PRO tt;for(i=0; i < MAX-1; i++){ k=i;for(j=i+1; j < MAX; j++)if((sell[k].je>sell[j].je)||(sell[k].je==sell[j].je)&&(strcmp(sell[k].dm, sell[j].dm)>0))k=j;if(k!=i){ tt=sell[k]; sell[k]=sell[i]; sell[i]=tt;}}/**/}

void main(){memset(sell, 0, sizeof(sell)) ;ReadDat() ;SortDat() ;WriteDat() ;}

void ReadDat(){FILE *fp ;char str[80], ch[11] ;int i ;

fp = fopen("IN.DAT", "r") ;for(i = 0 ; i < 100 ; i++) {fgets(str, 80, fp) ;memcpy(sell[i].dm, str, 4) ;memcpy(sell[i].mc, str + 4, 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) ;}

void WriteDat(){FILE *fp ;int i ;

fp = fopen("OUT1.DAT", "w") ;for(i = 0 ; i < 100 ; i++) {fprintf(fp, "%s %s %4d %5d %10ld\n", sell[i].dm, sell[i].mc, sell[i].dj, sell[i].sl, sell[i].je) ;}fclose(fp) ;}

100个产品销售记录排序其余9题说明

1) in.dat 内容完全相同。2) 程序也基本雷同,仅排序的要求不一样。3) 考生应熟悉 strcmp() 函数,否则有的题相当不好处理。

之二排序要求:按金额从小到大进行排列, 若金额相等, 则按产品代码从大到小进行排列相应语句:if(sell[k].je>sell[j].je|| (sell[k].je==sell[j].je) &&(strcmp(sell[k].dm, sell[j].dm) < 0))

之三排序要求:按金额从大到小进行排列, 若金额相等, 则按产品代码从小到大进行排列相应语句:if((sell[k].je <sell[j].je)||(sell[k].je==sell[j].je)&&(strcmp(sell[k].dm,sell[j].dm)>0))

之四排序要求:按金额从大到小进行排列, 若金额相等, 则按产品代码从大到小进行排列相应语句:if((sell[k].je <sell[j].je)||(sell[k].je==sell[j].je)&&(strcmp(sell[k].dm,sell[j].dm)<0))

之五排序要求:按产品名称从小到大进行排列, 若产品名称相同, 则按金额从小到大进行排列相应语句:if((strcmp(sell[k].mc,sell[j].mc)>0)||(strcmp(sell[k].mc,sell[j].mc)==0)&&(sell[k].je>sell[j].je))

之六排序要求:按产品名称从小到大进行排列, 若产品名称相同, 则按金额从大到小进行排列相应语句:if(strcmp(sell[i].mc, sell[j].mc)>0 || (strcmp(sell[i].mc,sell[j].mc)==0)&&(sell[i].je < sell[j].je))

之七排序要求:按产品名称从大到小进行排列, 若产品名称相同, 则按金额从小到大进行排列相应语句:if((strcmp(sell[k].mc, sell[j].mc) < 0) ||(strcmp(sell[k].mc,sell[j].mc)==0)&&(sell[k].je>sell[j].je))

之八排序要求:按产品名称从大到小进行排列, 若产品名称相同, 则按金额从大到小进行排列相应语句:if((strcmp(sell[k].mc, sell[j].mc) < 0)|| (strcmp(sell[k].mc,sell[j].mc)==0)&&(sell[k].je < sell[j].je))

之九排序要求:按产品代码从小到大进行排列, 若产品代码相同, 则按金额从小到大进行排列相应语句:if((strcmp(sel

voc在线监测

标书制作公司

家用桑拿房装修价格

SC光纤快速连接器

德国布鲁克直读光谱仪

相关阅读
最好2019年02月19日今日金属镧价格Dc插头线对焊机建筑设备普通V带文登TRp

(2019年02月19日)今日金属镧价格以防冻伤您当前位置:首页 价格行情(2019年02月19日)今日金属镧价格_最新金属镧行情查询(2019年02月19日)今日金属镧价格_最新金属镧行情查询来源:互焊料联日期:价格频道提供今日金属镧价格

2024-04-03 01:10
最火21日长沙市场中厚板价格行情GPS模组多孔陶瓷交换器启动拉绳蜗轮减速器Rra

21日长沙市场中厚板价格行情您当前位置:首页 价格行情21日长沙市场中厚板价格行情21日长沙市场中厚板价格行情来源:中国五金商机日期:品名 规格(mm) 材质 钢厂/产地 价格(元/吨)涨跌备注 普中板8Q235B新钢货少 普中板10Q23

2024-03-22 06:43
最火广州尚水环保节能科技有限公司邀您参加Lw测试机高频电缆空气分配器色环电感压敏垫片Rra

广州尚水环保节能科技有限公司邀您参加Lw2016—第六届铝加工技术(国际)论坛暨展示在资源日益消耗,环境污染严重的今天,节能环保一直是企业津津乐道的经营话题,在以高耗能、高污染为代表性的铝加工业,尤其是上游企

2024-03-22 04:14
最火揭秘铝市场的问题伺服阀光纤耦合器淋膜机数字机顶盒油箱Rra

揭秘铝市场的问题【铝道】路透伦敦8月1日-每一位参与铝市场的人士都知道,这是一个运转失灵的市场。生产商们知道。消费方也知道。负责制定铝金属全球基准价格的伦敦金属交易所(LME)知道。就连LME的仓储公司也懂得这一点,

2024-03-21 05:36
最火26日1430宁波市场热轧板卷价格行情搓纸轮光纤终端六角螺帽双城游戏点卡Rra

26日(14:30)宁波市场热轧板卷价格行情您当前位置:首页 价格行情26日(14:30)宁波市场热轧板卷价格行情26日(14:30)宁波市场热轧板卷价格行情来源:中国五金商机日期:品名 规格(mm) 材质 钢厂/产地 价格(元/吨)涨跌备注

2024-03-21 03:42
最火人脸消费闸机人脸识别消费机配套阿里云涤纶电容焊锡膏马鞍山塑料混合机昭通Rra

人脸消费闸机 人脸识别消费机配套阿里云您当前位置:首页 企业人脸消费闸机 人脸识别消费机配套阿里云人脸消费闸机 人脸识别消费机配套阿里云来源:深圳市君联创新科技有限公司人脸识别日期:作者:人脸消费闸机 人脸识别消

2024-03-21 00:55