解题思路:
第一步:

定义结构体

为了书写方便,我将结构体重名为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 <stdio.h>

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<x.month-1; i++)
	{
		sum+=a[i]; //累加
	}
	printf("%d\n",sum+x.day);  //别忘了天数day
}

测试环境:

Windows  China HUAWEI Source Insight 4.0

Linux  Debain  Ubuntu/Kali   gcc  

程序测试:

微信图片_20190104155741.png


点赞(5)
 

0.0分

9 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 2 条评论

皇后怪 1年前 回复TA
@只因道人肖黑子 个人看法:结构体可以把相关联的多个信息变量存在一个连续的内存区域中,方便我们后期查询相关且多关键点的信息。
只因道人肖黑子 1年前 回复TA
小白,请问一下定义结构变体意义何在?