- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八次上机实验 数字排序和移位
数 字 排 序 \数 字 或 字 符 移 位 已知在文件in.dat中存有200组数据, 每组有3个数, 每个数均是三位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(), 其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和, 其中满足条件的个数作为函数jsSort()的返回值, 同时把满足条件的数据存入结构数组bb中, 再对bb中的数据按照每组数据的第二个数加第三个之和的大小进行降序排列 (第二个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中,最后调用函数writeDat()把结果bb输出到out.dat文件中。 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动数据文件in.dat中的任何数据、主函数main()、读函数readDat() 和写函数writeDat()的内容。(69套) #include stdio.h #include string.h typedef struct { int x1, x2, x3 ; } Data ; Data aa[200], bb[200] ; void readDat(); void writeDat(int count); int jsSort() { } void main() { int count ; readDat() ; count = jsSort() ; /* 返回满足条件的个数 */ writeDat(count) ; } 分析 实际是一个排序问题 数组元素为结构体类型 步骤: 1、先把满足条件的数据存入bb数组中,元素个数由jsSort()函数返回 2、对bb数组中的元素进行排序 int jsSort(){ } 数 字 移 位 已知在文件in.dat中存有若干个(个数200)四位数字的正 整数,函数readdat()读取这若干个正整数并存入数组xx 中。请编制函数calvalue(),其功能要求:1、求出这文件 中共有多少个正整数totnum;2、求这些数右移1位后,产生 的新数是奇数的数的个数totcnt,以及满足此条件的这些数 (右移前的值)的算术平均值totpjz,最后调用函数writedat()把所求的结果输出到文件out.dat中。 部分源程序已给出。 请勿改动主函数main()、读数据函数readdat()和输出数据函数writedat()的内容。 #includestdio.h #includeconio.h #define MAXNUM 200 int xx[MAXNUM]; int totnum=0; int totcnt=0; double totpjz=0.0; int readdat(void); void writedat(void); void calvalue(void) { ?} void main() { int i; clrscr(); for(i=0;iMAXNUM;i++) xx[i]=0; readdat(); calvalue(); printf(totnum=%d\n,totnum); printf(totcnt=%d\n,totcnt); printf(totpjz=%.2lf\n,totpjz); writedat(); } ? void calvalue(void) { int i,data; for(i=0;xx[i]0;i++) { totNum++; data=xx[i]1; if(data%2!=0) {totCnt++; totPjz+=xx[i]; } } totPjz/=totCnt; } ? 字符移位问题 函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数CharConvA(),其函数的功能是: 以该文章中的行为单位把字符串中的最后一个字符的ASCII值右移4位二进制位,高位补0后加最后第二个字符的ASCII值, 得到最后一个新的值,最后第二个字符的ASCII值右移4位二进制位, 高位补0后加最后第三个字符的ASCII值, 得到最后第二个新的值, 以此类推一直处理到第二个字符。 注意:第一个字符的ASCII值加原最后一个字符的ASCII值, 得到第一个新的值。得到的新值分别存放在原字符串对应的位置上,之后把已处理的结果仍按行重新存入数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到文件OUT.DAT中。 原始数据文件存放的格式是: 每行的宽度均小于80个字符, 含标点符号
您可能关注的文档
最近下载
- 安顺《建筑信息模型(BIM)》建模练习4:复制功能与创建二层模型练习(5分,需辅导教师评阅).pdf VIP
- 会计职业生涯计划书格式.pdf VIP
- 设计比选文件.doc
- 子分部工程质量验收纪要GD424.xls VIP
- 2024-2025学年小学地方、校本课程川教版可爱的四川教学设计合集.docx
- 2024年爆破作业人员安全技术培训试题(及答案).pdf
- 2023年海南省中考历史试题卷(含答案解析)+2022年及2021年中考历史试卷及答案.docx
- KCP题库整理必威体育精装版.docx VIP
- 24拱城控01:杭州市拱墅区城市建设发展控股集团有限公司公司债券2024半年度报告.PDF VIP
- 版劳动实践河北科学技术出版社三年级下册全册教案.pdf
文档评论(0)