C程序设计上机实验报告12
更新时间:2023-12-01 21:11:01 阅读量: 教育文库 文档下载
C程序设计实验报告
实验名称:结构程序设计 学时安排:2课时
实验类别:上机操作型 实验要求:1人1组
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 一、实验目的
1. 2. 3. 4.
掌握结构变量的基本使用方法; 掌握结构数组的基本使用方法; 掌握结构的简单嵌套应用;
掌握结构指针的概念,以及结构指针作为函数参数的编程方法。
二、实验设备介绍
软件需求: Visual C++ 6.0或CFree3.5以上版本
硬件需求: 对于硬件方面的要求,建议配置是Pentium III 450以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。 三、实验内容
1. 定义一个关于年、月、日的结构,并编写函数计算某日是该年中的第几天?要求用结构指针作为函数参数,注意闰年问题。以下部分程序供参考,可自行改动: struct date{ /*日期结构体:包含年月日*/ int year; int month; int day; };
void dayofyear(struct date *pday); int main(void) { struct date temp,*pday; pday=&temp; /*请添加*/ }
运行结果示例如下:
Input year、month and day: 2006 3 5 64
2. 改正程序error09_2.cpp中的错误。建立一个有n(3到10之间)个学生成绩的结构记录,包括学号、姓名和3门成绩,输出总分最高的学生姓名和总分。输入输出结果如下所示: n=3 1 zhang 78 83 75 2 wang 76 80 77 第 1 页 共 4 页
3 shen 92 88 78 总分最高的学生是:shen,258分
要求把正确的代码(按规范缩进)写入报告,并以注释的方式说明错误原因。 注释示例如下: int i; /*循环控制变量不能定义为double类型*/
3. 编写一程序,计算两个时刻之间的时间差,并将其值返回。时间以时、分、秒表示,假设两个时刻的差小于24 小时。(此题选做)
提示:先输入两个时间,然后比较两个时间的大小,用大的减去小的。时间相减从秒开始,如果负数则需位,再减分,最后减小时。
四、程序清单 第一题
#include
int result;
struct riqi{ int year; int month; int day; }date;
printf(\、month and day:\
scanf(\ int day_of_year(int year,int month,int day);
result=day_of_year(date.year,date.month,date.day); printf(\ return 0; }
int day_of_year(int year,int month,int day) {
int k,leap,yearday; int
tab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30},{0,31,29,31,30,31,30,31,31,30,31,30}};
leap=(year%4==0&&year0!=0)||year@0==0; yearday=0;
for(k=1;k yearday=yearday+tab[leap][k]; yearday=yearday+day; return yearday; } 第二题 第 2 页 共 4 页 #include struct student{ int number; char name[20]; int score[3]; int sum; }; struct student student[20];/*定义记录20个学生信息的结构数组*/ int i, j, k, n, max=0; printf(\输入n:\ scanf(\ for (i = 0; i < n; i++){ printf(\输入第%d个学生的学号、姓名和3门成绩:\输入第i+1个学生*/ student[i].sum=0;/*将成绩和初始化*/ scanf(\ for(j = 0; j < 3; j++){ scanf(\ student[i].sum += student[i].score[j]; } } max = student[0].sum; for(i = 0; i < n; i++) if(max < student[i].sum) { max = student[i].sum; k = i; } printf(\总分最高的学生是: %s,%d分\\n\student[k].name, student[k].sum); return 0; } 第三题 #include int hour; int minute; int second; }; void main() 第 3 页 共 4 页 { } struct time time1,time2; int timestart,timeend,hours,minutes,seconds; printf(\输入起始时刻:\ scanf(\printf(\输入结束时刻:\ scanf(\timestart=time1.hour*3600+time1.minute*60+time1.second; timeend=time2.hour*3600+time2.minute*60+time2.second; hours=(timeend-timestart)/3600; minutes=(timeend-timestart-3600*hours)/60; seconds=timeend-timestart-3600*hours-60*minutes; printf(\两时刻相差:%d小时%d分%d秒\\n\return 0; 五、运行结果 第一题 第二题 第三题 六、实验心得 写结构的程序题时,注意结构定义以及结构名。注意程序要条理清晰。 第 4 页 共 4 页
正在阅读:
C程序设计上机实验报告1212-01
小学生朗诵稿02-16
高三复习非谓语动词专项练习(带答案)12-13
小学五年级语文知识竞赛题07-17
WB实验原理05-03
幼儿园小班绘本故事教案:好饿的小蛇_幼儿园小班语言教案04-04
《人力资源管理》形考作业1答案05-23
辽宁2019新版教材二级建造师继续教育题库(多选)10-01
河南省新型农村社区规划建设导则(试行)08-19
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 上机
- 程序设计
- 实验
- 报告
- 2018年最新人教版七年级英语下册全册导学案
- 农村信用合作联社主办会计及临柜人员测试题题库重点
- 七年级英语综合填空专题训练
- 抗凝的临床监测
- 第6课《瀑布》教学设计
- VF单选
- 家长学校教案 - 从现在开始培养孩子良好的学习习惯
- 计算机组成实验报告模板 2015-12-1修订版
- 2018年高考真题全国卷3地理 - 图文
- 实验2 单服务台单队列排队系统仿真
- 体育与健康学科核心素养
- 青岛版六年级下册圆柱和圆锥测试题
- 2019精选中考物理第一部分夯实基础过教材第二章声现象复习练习册 -
- 现场安全告知书(动力车间)
- 沪教版小学四年级上册数学《大数的认识总复习》教案
- Cet6高频词汇汇总
- 出国签证公司担保信模板
- 第三章 成本构成要素归集与分配
- 关于下发内部管理制度及流程编写格式的通知
- 资金部岗位职责2011