付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、成都工业学院计算机工程学院C语言程序设计基础实验报告实验名称实验9结构体与共用体学院计算机工程学院专业班级计算机科学与技术1班姓名学号任课老师实验时间90分钟1. 实验目的(1)掌握结构体类型变量的定义和使用;(2)掌握结构体类型数组的概念和使用;(3)掌握链表的概念,初步学会对链表进行操作;(4)掌握共用体的概念和使用。2. 实验内容(1)输入某天的日期,计算该天在给定年份中是第几天。要求1. 定义包含年,月,日信息的结构体类型。2. 利用scanf函数输入年,月,日的值。3. 输出日期以及该日期是给定年份中的第几天。4. 需要对闰年做判定。(2)在一个结构体数组中,存有三个人的姓名和年龄,
2、输出三人中年龄居中者的姓名和年龄。要求1. 三个人的数据采用直接初始化方式赋值。2. 利用结构体指针实现处理过程。(3)输入6名学生的学号,姓名和三门课程的成绩,三门课程的名称:(programming,database,network),存入到一个结构体数组中;编写aveScore()函数,其功能是计算学生三门课程的平均成绩,并存到结构体数组中;在主函数中输入学生信息,调用aveScore()函数,并输出学生的姓名和平均分信息。要求:1定义结构体类型,包括longsnum,charname,intscore,floatave变量,分别表示学生的学号,姓名,成绩数组和平均分。2. 在主函数中输
3、入学生的学号,姓名,和三门课成绩。3. 调用aveScore()函数,计算学生的平均成绩,存入到结构体函数的ave变量中。4. 在主函数中输出每个学生姓名和平均分信息。3. 源程序输入某天的日期,计算该天在给定年份中是第几天#include<stdio.h>structdateintyear;intmonth;intday;tian;/定义结构体voidmain()ints=0,i,a12=31,28,31,30,31,30,31,31,30,31,30,31;printf("Pleaseinputyear,month,day:n");scanf("%
4、d%d%d",&tian.year,&tian.month,&tian.day);/输入年月曰if(tian.year%4=0&&tian.year%100!=0)|tian.year%400=0)a2=29判断闰年,并进行处理printf("%d/%d/%dn",tian.year,tian.month,tian.day)输出年月曰for(i=0;i<tian.month-1;i+)s=s+ai;printf("Todayis%dday!n",s+tian.day);/输出为第几天(2) 输出三人
5、中年龄居中者的姓名和年龄#include<stdio.h>structdatecharname10;intage;structdate*t,p3="yi",22,"er",24,"san",16/初始化voidmain()intinstructdatetemp;t=p;for(i=0;i<3;i+)for(j=i;j<=3;j+)if(t+i)->age<(t+j)->age)temp=*(t+i);*(t+i)=*(t+j);*(t+j)=temp;/将三个人按年龄排序printf(&quo
6、t;%d",(t+2)->age);(3) 记录6个学生3门成绩,并计算平均值#include<stdio.h>structstudentlongnum;charname10;intpro;intdata;intnet;floataver;s6;voidmain()structstudent*p;printf("Inputsnum,name,3score:")输入学号,姓名,成绩for(p=s;p<s+6;p+)scanf("%ld%s%d%d%d",&(p_>num),&(p->name),
7、&(p->pro),&(p->data),&(p->net);printf("Students'sscore:n")输出学号,姓名,成绩for(p=s;p<s+6;p+)printf("%ld%st%d%d%dn",p->num,p->name,p->pro,p->data,p->net);floataveScore(inta,intb,intc)声明函数printf("Students'saveScoreis:n")计算并输出学生姓名及平均
8、成绩for(p=s;p<s+6;p+)p->aver=aveScore(p->pro,p->data,p->net);printf("%st%.2fn",p->name,p->aver);floataveScore(inta,intb,intc)/计算平均值函数floatave;ave=(float)(a+b+c)/3;returnave;4. 运行结果(1)输入某天的日期,计算该天在给定年份中是第几天Pleaseinputyear,month,day:201512312015/12/31Todayis365day!Pressany
9、keytocontinue(2)输出三人中年龄居中者的姓名和年龄82'F:jg9_2Debug9-2.exeTyi22Pressanykeytocontinue(3)记录6个学生3门成绩,并计算平均值nF;_3Debug76.exe”ntI123456S123456工问汗呵校个鱼en问汗呵校个角PU问汪呵学各鱼ud问汪呵学各合£5 5.6 4st问汪呵校个合问汪呵学各<?naniG,3score:984598124532129848451235score:984598124532129848451235aveScoreis:.3.67.6了4Pres
10、sanykeytocontinue5. 出现问题及解决办法(1) 在输出三人中年龄居中者的姓名和年龄时直接将指针定义成int*p,造成错误解决方法:将指针定义成结构体指针struetstudent*t;类型(2) 在输出三人中年龄居中者的姓名和年龄时未将指针t初始化造成输出错误解决方法:将指针t指向结构体数组p,添加语句:t=p;(3) 在讲结构体数组进行排序时出现错误,错误原因是因为中间变量temp为结构体外部的变量,不能访问结构体内部成员解决方法:将temp定乂为structdatetemp;(4) 在对学生姓名和成绩进行录入时,先使用直接访问结构体元素的方式总是出现错误,未找到原因for(i=0;i<6;i+)seanf("%ld&s%d%d%d",&si.num,&,&,&si.data,&);解决方法:定义一个结构体指针,采用指针的方式访问结构体元素for(p=s;p<s+6;p+)seanf("%ld%s%d%d%d",&(p->num),&(p->name),&(p->pro),&(p->data),&(p-&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 回转窑石灰煅烧工风险评估强化考核试卷含答案
- 光缆护套工操作规程水平考核试卷含答案
- 合成氨转变工安全教育评优考核试卷含答案
- 自动相关监视系统机务员岗前全能考核试卷含答案
- 物料索道操作工岗中技术传承考核试卷含答案
- 纸张整饰工岗位安全宣贯考核试卷含答案
- 高炉上料工岗中岗位安全责任制考核试卷含答案
- 地理信息建库员岗前安全风险考核试卷含答案
- 激光头制造工班组考核竞赛考核试卷含答案
- 烟叶回潮设备操作工岗前安全实操考核试卷含答案
- 生产运作管理 第7版 课件 第十一章 制造业的作业计划与控制
- 2026气凝胶绝热材料在储能系统中的应用价值评估报告
- 2026新教材语文 7 培养德智体美劳全面发展的社会主义建设者和接班人 教学课件
- 高考英语阅读理解:六大类型题目-解题方法
- 2026年湖南高速铁路职业技术学院高职单招笔试职业技能测验试题库含答案解析3套试卷
- 重庆市第九人民医院招聘笔试真题2025
- 化工原理课件第二章总结
- 科技金融对专精特新企业创新的影响结题报告
- 2026年中级经济师《知识产权实务》考试历年机考真题集附参考答案详解(完整版)
- 2026年专升本化学全真模拟试卷
- 白银公司历年招聘试题汇 总笔试试题
评论
0/150
提交评论