- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2006年9月三级c语言上机真题汇编31-74题.doc
2006年9月三级c?语言上机真题汇编31-?74题
已知在文件IN.D?AT中存有10?0个产品销售记录,每个产品销售记录由产品代码dm(?字符型4?位),产品名称mc(字符型1?0位),单价dj(整型),数量sl(整型),金额j?e(长整型)五部分组成。其中:金额=单价*数量计算得出。函数Re?adD?a?t()是读取这100个销售记录并存入结构数组sel?l中。请编制函数SortD?a?t()?,其功能要求:按金额从大到小进行排列,若金额相同,则按产品代码从大到小进行排列, 最终排列结果仍存入结构数组sel?l?中,最后调用函数Write?D?at(?) ?把结果输出到文件OUT4.DA??T中。
?部分源程序存在文件pr?og1.??c中。
请勿改动主函数mai?n()?、读数据函数ReadDat(?)?和输出数据函数Wri?t?eDat??()的内容。
#i?ncl?ud?e ?st?d?io.h??
#i??nclu?d?e ?me?m.?h
?
?#inc??lude ??str?i?ng.?h?
?#in?c?lude?? con??io.h??
#?in?cl?ude? ?std??lib.h??
??
?
#d?ef?in?e M?A?X 10??0
ty??pede?f? st?ru?ct?{
?c?har ??dm[5]??; /*?产品代码*/?
?cha?r? mc[??11]; ??/*产品名称*/
?
i?nt ?d?j; /??*单价*/
in?t? sl?; ?/*?数量*/?
l??ong j??e; /?*?金额*/
?
}?PRO?;?
PR??O sel??l[MA?X?];
?
v?oi?d R?e?adDa??t();
??
voi?d? Wr?it?eD?at(?)?;
???
voi??d So?r?tDa?t(?)
?
{i?n?t i,??j;
P??RO x?y?;
?fo?r(?i=0?;?i99??;i++)??
fo?r?(j=?i+?1;?j1?0?0;j+??+)
i??f(se?l?l[i?].?je?se?l?l[j]??.je||??sell?[?i].?je?==?sel?l?[j].??jes??trcm?p?(se?ll?[i?].d?m?,sel??l[j].??dm)?0?)
?{x?y=?sel?l?[i];??sell[??i]=s?e?ll[?j]?;s?ell?[?j]=x??y;}
??}
??
?
vo?id? m?ain?(?)
{??
mem??set(?s?ell?,0?,s?ize?o?f(se??ll));??
Re?a?dDa?t(?);?
S?o?rtDa??t();
??
Wri?t?eDa?t(?);?
}?
?
?
??void ??Read?D?at(?)
?
{?
F?I?LE *??fp;
??char? ?str?[8?0]?,ch?[?11];??
int?? i;
?
??
?fp?=f?ope?n?(IN??.DAT??,r?)?;
?fo?r(?i=0?;?iMA??X;i++??){
?f?get?s(?st?r,8?0?,fp)??;
me??mcpy?(?sel?l[?i]?.dm?,?str,??4);
??memc?p?y(s?el?l[?i].?m?c,st??r+4,1??0);
?
?mem?cp?y(?ch,?s?tr+1??4,4);??ch[4?]?=0;?
?se?ll[?i?].dj??=atoi??(ch)?;?
m?em?cp?y(c?h?,str??+18,5??);ch?[?5]=?0;?
?sel?l?[i].??sl=at??oi(c?h?);
?
s?el?l[i?]?.je=??(long??)sel?l?[i]?.d?j*?sel?l?[i].??sl;
??}
f?c?los?e(?fp?);
?
?}
???
voi??d Wr?i?teD?at?(v?oid?)?
{
??
FILE?? *fp?;?
i?nt? i?;
???
fp??=fope??n(O?U?T4.?DA?T?,w??);
??for(i??=0;i??MAX?;i?++?){
?
?prin??tf(%??s %s? ?%4d? %?5d? %5?d?\n,?? sell??[i].?d?m,s?el?l[?i].?m?c,se??ll[i]??.dj,?s?ell?[i?].?sl,?s?ell[??i].je??);
?f?pri?nt?f(?fp,??%s %??s %4d?? %5d? ?%5d?\n?,? se?l?l[i]??.dm,s??ell[?i?]
文档评论(0)