C程序设计上机试验报告12_第1页
C程序设计上机试验报告12_第2页
C程序设计上机试验报告12_第3页
C程序设计上机试验报告12_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、n=31C 程序设计实验报告实验名称:结构程序设计学时安排:2 课时实验类别:上机操作型实验要求:1 人 1 组一、实验目的1.掌握结构变量的基本使用方法;2.掌握结构数组的基本使用方法;3.掌握结构的简单嵌套应用;4.掌握结构指针的概念,以及结构指针作为函数参数的编程方法。二、实验设备介绍软件需求:Visual C+ 6.0或CFree3.5以上版本硬件需求:对于硬件方面的要求,建议配置是Pentium III 450以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能 支持24位真彩色的显示卡、彩色显示器、打印机。三、实验内容1.定义一个关于年、月、日的

2、结构,并编写函数计算某日是该年中的第几天?要求用结构指针作为函数参数,注意闰年问题。以下部分程序供参考,可自行改动:struct date/*日期结构体:包含年月曰*/int year;int mon th;int day;void dayofyear(struct date *pday);int main( void)struct date temp,*pday;pday=& temp;/*请添加*/2运行结果示例如下:In put year、month and day: 2006 3 5642.改正程序error09_2.cpp中的错误。建立一个有n ( 3到10之间)个学生成绩的

3、结构记录, 包括学号、姓名和3门成绩,输出总分最高的学生姓名和总分。输入输出结果如下所示:1 zha ng 78 83 752 wang 76 80 773 she n 92 88 78总分最高的学生是:shen, 258分要求把正确的代码(按规范缩进)写入报告,并以注释的方式说明错误原因。 注释示例如下:int i;/*循环控制变量不能定义为double类型*/3.编写一程序,计算两个时刻之间的时间差,并将其值返回。时间以时、分、秒表示,假 设两个时刻的差小于24小时。(此题选做)提示:先输入两个时间,然后比较两个时间的大小,用大的减去小的。时间相减从秒开始, 如果负数则需位,再减分,最后减

4、小时。四、程序清单第一题#i ncludeint main()int result;struct riqiint year;int mon th;int day;date;printf(Input year、month and day:);scan f(%d%d%d,&date.year,&date.mo nth,&date.day);int day_of_year(i nt year,i nt mon th,i nt day); result=day_of_year(date.year,date.m onth,date.day); prin tf(%dn,result

5、);return 0;int day_of_year(i nt year,i nt mon th,i nt day)int k,leap,yearday;inttab213=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&year%100!=0)|year%400=0; yearday=0;3for(k=1;k mon th;k+)yearday=yearday+tableapk; yearday=yearday+day;retur n yearday;第二题#i

6、nclude int main (void)struct studentint number;char name20;int score3;int sum;struct student student20;/*定义记录20个学生信息的结构数组*/int i, j, k, n, max=0;printf(输入n:);scanf(%d,&n);for (i = 0; i n; i+)printf(输入第d个学生的学号、姓名和3门成绩:,i+1);/*输入第i+1个学生*/studenti.sum=0;/*将成绩和初始化*/scanf(%d%s, &studenti.number,

7、&);for(j = 0; j 3; j+)scanf(%d, &studenti.scorej);studenti.sum += studenti.scorej;max = student0.sum;for(i = 0; i n; i+)if(max studenti.sum)max = studenti.sum;k = i;printf(总 分 最 高 的 学 生 是: %s,%d分n, , studentk.sum);return 0;第三题#include struct timeint hour;int minute;

8、4int second;5;void mai n()struct time time1,time2;int timestart,timee nd,hours, minu tes,secon ds; printf(输入起始时刻:);scan f(%d:%d:%d,&time1.hour, &time1.mi nute, &time1.seco nd); printf(输入结束时刻:);scan f(%d:%d:%d,&time2.hour, &time2.mi nute, &time2.seco nd);timestart=time1.hour*3

9、600+time1.mi nute*60+time1.seco nd; timeend=time2.hour*3600+time2.mi nute*60+time2.seco nd; hours=(timeend-timestart)/3600;mi nu tes=(timee nd-timestart-3600*hours)/60;seco nds=timee nd-timestart-3600*hours-60*mi nu tes;printf(两时刻相差:%d小时谕4秒n,hours,minutes,seconds); return 0;五、运行结果第一题Input year month and3 564Press any key to continue.第二题第三题l|:12:35:56Jl:15:4?:12:3小时1加6秒keu to continue 六、头验心得写结构的程序题时,注意结构定义以及结构名。

温馨提示

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

评论

0/150

提交评论