数据结构- 案例1_第1页
数据结构- 案例1_第2页
数据结构- 案例1_第3页
数据结构- 案例1_第4页
数据结构- 案例1_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1设计题目假设给定班级各科考试平均成绩的原始资料如下数学75物理80外语83政治85体育86人数30要求统计出全班学期总平均成绩以及得分最低的科目和该科目的成绩。要求输出的结果如下原始信息如下数学75物理80外语83政治85体育86人数30平均成绩0最低分数科目的成绩0最低分数的科目全班各科平均成绩如下数学75物理80外语83政治85体育86统计结果如下人数30平均成绩81最低分数科目的成绩75最低分数的科目数学2设计要求实现本设计功能的方法很多,这里给出4种难易程度不同的要求,以便加深对数组和指针知识的理解。对存放原始数据的要求如下(1)使用整型数组A存放数学、物理、外语、政治、体育、人数、平均成绩、最低分数科目的成绩。(2)使用字符串数组NAME存放人数、平均成绩、最低分数科目的成绩、最低分数的科目。(3)使用字符串数组MEANLOW存放人数、平均成绩、最低分数科目的成绩、最低分数的科目。1使用数组实现使用数组和指针数组实现。这个实验主要是理解数值型数组和字符串数数组的异同。2使用分配的内存实现要求将数组A的内容存入到分配的内存中,使用指针实现对内存的存取和计算。3将数组内容全部存入内存如何为字符分配内存,并将字符数组的内容也存入所分配的内存中,使用这些指针实现设计要求。4使用字符指针指向字符数组这个题目的要求超出一般的教材,但对理解指针很有用途。3参考程序本课程设计的4个题目是循坏渐进的,虽然有些超出教材范围,但难度不大。为了便于理解,将给出必要的解释。31使用数组实现1设计整数数组从要求可知,数组A中的数学、物理、外语、政治、体育、人数已知,但平均成绩和最低分数科目的成绩为未知。可以设计为INTA875,80,83,85,86,30;这种初始化方法使得到最后两个元素的值为0。它与INTA875,80,83,85,86,30,0,0的作用是等效的。2设计字符串数组设计如下两个字符串数组CHARMEANLOW4“人数”,“平均成绩”,“最低分数科目的成绩”,“最低分数的科目”;CHARNAME65“数学”,“物理”,“外语”,“政治”,“体育”;字符串数组NAME预留的最后一个元素位置用来存储最低分数的科目名称,这由计算得到。它们本身的长度都是4(一个中文占两个字符的位置),每个字符串还需要一个结束符,所以将长度设计为5。因为人数、平均成绩、最低分数科目的成绩、最低分数的科目等字符串的长度不一样长,所以使用字符串指针数组MEANLOW来实现。3计算计算比较容易。通过数组A求平均值和最小值,因为分数最大值为100,所以可将最小值MIN初始化为100。FORI0IAIMINAIA6SUM/5A7MIN根据MIN,从它在A中的位置,检索NAME中的名称,将它存入NAME5中。对多维字符串数组NAME而言,只要指出左边的代号即可。FORI0IINCLUDEVOIDMAININTI,SUM0,MIN100INTA875,80,83,85,86,30CHARMEANLOW4“人数”,“平均成绩”,“最低分数科目的成绩”,“最低分数的科目”CHARNAME65“数学”,“物理”,“外语”,“政治”,“体育”;PRINTF“原始信息如下N”FORI0IAIMINAIA6SUM/5A7MINFORI0IPIMINPIA6SUM/5A7MIN2申请内存空间需要对申请的内存空间进行判别,只有确认申请无误之后,才能使用。为了存储数组A的内容,需要申请8个存储INT数据的空间。PINTMALLOC8SIZEOFINTIFPNULLPRINTF“内存分配错误”;EXIT13将数组内容复制到申请的内存空间将数组A的内容逐个复制即可。FORI0IINCLUDEINCLUDEVOIDMAININTI,P,MIN100,SUM0INTA875,80,83,85,86,30CHARMEANLOW4“人数”,“平均成绩”,“最低分数科目的成绩”,“最低分数的科目”CHARNAME65“数学”,“物理”,“外语”,“政治”,“体育”;FORI0IPIMINPIA6SUM/5A7MIN/分配内存地址PINTMALLOC8SIZEOFINTIFPNULLPRINTF“内存分配错误”;EXIT1/存储FORI0IINCLUDEVOIDMAININTICHARS“WEAREHERE”CHARS2“WESDSGFDHGDHDJHD”CHARPPCHARMALLOC12IFPNULLPRINTF“内存分配错误”;EXIT1PRINTF“PU,SUN”,P,S/申请的内存和数组S的首地址不同PS;/这里不是给申请的内存单元赋值/下面的演示并不是从分配的内存取内容FORI0IINCLUDEINCLUDEVIODMAINCHARS“WEAREHERE”CHARS2“WESDSGFDHGDHDJHD”CHARPINTIPCHARMALLOC12;IF(PNULL)PRINTF“内存分配错误”EXIT1FORI0IINCLUDEINCLUDEVIODMAININTI,P,MIN100,SUM0INTA875,80,83,85,86,30CHARPCN6,PCM4;/为科目名称申请内存FORI0IINCLUDEVOIDMAININTI,SUM0,MIN100PCHARPCMCHARPCN5INTA875,80,83,85,86,30CHARMEANLOW4“人数”,“平均成绩”,最低分数科目的成绩”,“最低分数的科目”CHARNAME55“数学”,“物理”,“外语”,“政治”,“体育”;FORI0IPIMINPIA6SUM/5A7MINPINTMALLOC8SIZEFINTIFPNULLPRINTF“内存分配错误”;EXIT1PCMMEANLOWPCNNAME/输出信息PRINTF“N全班各科平均成绩如下N”FORI0I8IPIAIFORI0I5IPRINTF“SDN”,PCM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论