实验八 结构体与其他构造类型
一、实验目的
- 掌握结构体变量的定义和引用。
- 掌握结构体数组和结构体指针的使用。
- 培养使用结构体解决实际问题的能力。
二、实验内容
1、编写程序,在主函数中输入年月日,利用days函数计算该天是本年中的第几天。定义一个结构体变量(包括年、月、日)。
提示:声明结构体类型struct y_m_d,成员为year、month、day。根据题目,需要考虑闰年的情况,
判断闰年的条件为year%4==0 && year%100!=0 || year%400==0。
函数接口定义:
在这里描述函数接口。例如:
int days(int year,int month,int day);
输入样例:
在这里给出一组输入。例如:
2020 3 1
输出样例:
在这里给出相应的输出。例如:
61
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
#include<stdio.h>
int days(int year,int month,int day);
int main()
{
int a,b,c,n;
scanf("%d %d %d",&a,&b,&c);
n=days(a,b,c);
printf("%d\n",n);
return 0;
}
int days(int year,int month,int day)
{
int sum,leap;
switch(month)
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:printf("data error");break;
}
sum=sum+day;
if(year%400==0||(year%4==0&&year%100!=0))
leap=1;
else
leap=0;
if(leap==1&&month>2)
sum++;
return sum;
}