- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                实验名称:	实验七 结构体程序设计	日期:2014-6-11			任课教师:	和力	专业:	信息管理与信息系统	学号:2013117123		姓名:蔡小莲			【实验目的】
掌握结构体类型的说明、结构体变量的定义、引用方法。
掌握结构体数组的使用方法。
掌握文件的读写方法。		【实验内容】
从键盘输入年、月、日,计算该天是这年的第几天 (程序中要求使用结构体表示日期,考虑闰年) 。 
解题思路:
按照要求将年,月,日进行结构体形式初始化,再用days=days+day_tab[i];,days=days+day进行计算,然后再考虑闰年的情况,用year%4==0year%100!=0||year%400==0这个来判断闰年,最后输出这一天是那一年的第几天。
流程图:
struct day { int year;  int month; int da; }date;  
 
输入年月日
 
输出这一天是那一年的第几天
  
把实参给year  month  day
 
int i,days=0
 
int  day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}
  
for(i=1;imonth;i++)
  
days=days+day_tab[i]
  
days=days+day
  
T            (year%4==0year%100!=0||year%400==0) 
                                        month=3   
F
  
day_sum=day_sum+1
    
源程序:
#includestdio.h 
struct day 
{ 
 int year; 
 int month; 
 int da; 
}date;  
int main() 
{ 
 int days(int year,int month,int day); 
int lday; 
 printf(请输入年月日:\n); 
 scanf(%d%d%d,date.year,date.month,date.da); 
            lday=days(date.year,date.month,date.da); 
 printf(该日期在本年中是第%d天\n,lday); 
 return 0; 
}  
int days(int year,int month,int day) 
{ 
 int i,days=0; 
 int  
day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
 
 for(i=1;imonth;i++)  
  days=days+day_tab[i]; 
  days=days+day; 
 if((year%4==0year%100!=0||year%400==0)month=3)
 
 days=days+1; 
 return days; 
}  
运行结果:
  
学习心得(可选):
  
编写一程序,读入全班10个学生的姓名、成绩,计算出全班的平均分,最后评定出每个学生的成绩等级A、B、C,高于全班平均分10分以上者为A等,低于全班平均分10分以上者为C等,其余为B等,最后将学生的信息输出到屏幕。(程序中要求使用结构体表示学生信息)。
解题思路:
  按照要求将每位同学的信息按照结构体形式初始化,再将每位同学的成绩相加得sum. sum/10便得平均分,用if语句将每位同学的成绩与平均分相比较,若成绩(stu[i].score-10)average则为A。若average-10)stu[i].score则为C.其他都为B。再按照for语句,将每位同学的信息输出(姓名,分数,等级)
 
流程图:
struct?student{char?name[20];float?score;?char?great}
 
struct  student  stu[10]={{zs,88},{ww,50},{la,95},{kd,67},{nm,75},
{hy,90},{rt,96},{ui,69},{wu,83},{mk,77}};
   
double sum=0,average;int i;
  
for(i=0;i10;i++)?
  
sum=sum+(stu[i].score)
  
average=(sum/10.0)
 
输出  aversge?
   
for(i=0;i10;i++)
  
T
(stu[i].score-10)average                 F
  
stu[i].great=A
T
(averag
                
原创力文档
                        

文档评论(0)