还剩14页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
计算机等级考试三级(C语言)上机考试试题总结第一种:产品销售记录问题/*已知在文件in.dat中存有100个产品销售记录每个产品销售记录由产品代码dm字符型4位产品名称mc字符型10位单价dj整型数量sl整型金额je长整型五部分组成其中:金额=单价*数量计算得出函数readdat读取这100个销售记录并存入结构数组sell中请编制函数sortdat其功能要求:按金额从小到大进行排列若金额相等则按产品代码从小到大进行排列最终排列结果仍存入结构数组sell中最后main函数调用函数writedat把结果输出到文件out
1.dat中注意:部分源程序存放在prog
1.c中#definemax100typedefstruct{chardm
[5];/*产品代码*/charmc
[11];/*产品名称*/intdj;/*单价*/intsl;/*数量*/longje;/*金额*/}pro;函数解析://ifsell[i].jesell[j].je||sell[i].je==sell[j].jestrcmpsell[i].dmsell[j].dm0是此题的精华所在理解它就理解了这道题的编程道理首先sell[i].jesell[j].je如果金额大小成立的话,就条件成立,把两个数据换位置,如果前者不成立,就判定金额是否相等,如果相等的话,代码还有大小的话,按从小到大的顺序排列这种函数的编程方法,适用于有一定基础的编程者,如果是初学者的话建议用以下函数来表达此方法是按照题意一部一部来分析的,是比较保守的编程方法voidsortdat{intij;proswap;fori=0;isell[j].je{swap=sell[i];sell[i]=sell[j];sell[j]=swap;}elseifsell[i].je==sell[j].jestrcmpsell[i].dmsell[j].dm0{swap=sell[i];sell[i]=sell[j];sell[j]=swap;}}100个产品销售记录排序其余9题说明1in.dat内容完全相同2程序...。