发布时间:2024-05-31 08:01
解题思路:
第一步:
定义结构体
为了书写方便,我将结构体重名为DATE。
第二步:
用数组保存平年的12个月份的天数。什么是平年?是否有人不知道,平年是和闰年相对的,平年的2月是28天,闰年的2月是29天,所以闰年比平年多一天,平年365天,而闰年是366天。
故闰年平年关系:闰年2月天数=平年2月天数+1
第三步:
判断year是否闰年!
if(year%4==0&&year%100!=0||year%400==0)
如果是闰年,那么将2月的天数加1。
即a[1]+=1;
第四步:
累加天数
第五步:
输出结果。
注意事项:
typedef基础语法!
参考代码:#include
typedef struct Date
{
int year;
int month;
int day;
}DATE;
int main()
{
DATE x; //定义一个结构体变量
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31},sum=0;
scanf(\"%d%d%d\",&x.year,&x.month,&x.day);
if(x.year%4==0&&(x.year%100==0||x.year%400==0))
{
a[1]+=1; //闰年的2月加一天
}
for(int i=0; i
{
sum+=a[i]; //累加
}
printf(\"%d\\n\",sum+x.day); //别忘了天数day
}
测试环境:
Windows China HUAWEI Source Insight 4.0
Linux Debain Ubuntu/Kali gcc
程序测试: