- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* #include iostream #include cmath const int NUM = 50; const float SPEED = 50.0; const float UP = 1.0; const float DOWN = 0.5; int main() { struct roof { float x, y; // 屋顶坐标 int p; // 屋顶上的人数 }roofs[NUM]; int roof_num; // 屋顶数 printf(Please input roof_num:); scanf(%d, roof_num); float x, y; int p; for (int i=0;iroof_num;i++) { //用循环输入每一个屋顶的位置及人数 scanf(%f%f%d,x, y, p); roofs[i].x = x; roofs[i].y = y; roofs[i].p = p; } double totalTime = 0; // 救援总时间 for (int i=0; iroof_num; i++) { //用循环处理每一个屋顶,计算救援时间 x = roofs[i].x; y = roofs[i].y; p = roofs[i].p; totalTime += 2 * sqrt(x*x + y*y) / SPEED; // 计算从大本营到屋顶的双程航行时间 totalTime += p * (UP + DOWN); // 计算被求人员上船和下船所耗费的总时间 } printf(Total Time is: %.2lf\n, totalTime); // 打印出救援总时间 for (int i=0; iroof_num; i++) // 依次打印出各屋顶的位置及人数 printf(Roof ID: %d %.2f %.2f %d\n, i+1, roofs[i].x, roofs[i].y, roofs[i].p); } * 2.3 结构应用示例 ——学生成绩统计 定义一个结构,包含学生的所有信息。 struct student { int number; char name[8]; char sex; int age; float course[8]; }; struct student class1[160]; * 2.4 复合类型的结构分量 结构分量的类型可以是任何类型 结构类型分量 struct point{ float x, y; }; struct roof { struct point location; int p; }roof1; (roof1.location).x 数组类型分量 struct city { struct point{ int x, y; }location; char name[32]; }; 分量的类型不能是未定义的结构类型 不能定义两个同名的结构类型(在同一作用域内) * 2.5 结构的内存布局 结构分量在内存中顺序存放 struct square { struct point { int x, y; } p1, p2; } sq1; sq1.p1.x = 10; sq1.p1.y = 20; sq1.p2.x = 100; sq1.p2.y = 200; 主存储器 sq1.p1.x 10 20 100 200 * * sq1.p1.y sq1.p2.x sq1.p2.y * 结构的大小 结构的大小并不完全决定于分量 struct char_frequency { char c; int frequency; }; sizeof(strcut char_frequency)通常为8,而非5 这是编译器在编译时的一个特殊要求 * 结构使用中的注意事项 结构名不能相重、结构内分量名也不能相重 结构占用内存字节数不等同于分量占用字节总数 只把真正相互紧密关联的分量定义在同一个结构中 结构分量可以是任何数据类型,但不能是未定义的类型 结构也可用作数组的元素类型(结构数组) struct roof{ float x, y; int p; } roofs[100]; 数组也可作为结构的分量类型 使用结构变量时首先要对分量进行初始化或赋值 * 小结 回顾了变量与存储单元间的关系 介绍了数组的定义与用法 通过数组可定义大量类型相同的变量 数组
您可能关注的文档
最近下载
- 2025青岛版小学科学三年级上册1-5《制作动物分类图册》(教学课件)(新教材).pptx
- 标准图集-17J008 挡土墙(重力式、衡重式、悬臂式) 无水印.pdf VIP
- JJF(陕) 048-2021 一体化振动变送器校准规范.docx VIP
- 退药申请单.doc VIP
- 2025年中国镁铝尖晶石行业投资前景及策略咨询研究报告.docx
- 农牧民培训国家通用语言.pptx
- 2022年度国铁集团质量安全红线检查迎检实施方案(最终版) (2).pdf VIP
- 六年级数学上册第一单元圆基础测试题北师大.doc VIP
- (高清版)B/T 42584-2023 信息化项目综合绩效评估规范.pdf VIP
- 《建筑给水复合管道工程技术规程》CJJ@T155-2011.pdf VIP
文档评论(0)