解题思路:

    数组定义每个月天数,默认为平年365天,通过闰年判断决定计数器的初始值是1还是0
    (默认平年计数器初始值为0,闰年为1)
    通过循环遍历月份累计之前月份的天数,最后把当月的天数加上,完成计数

注意事项:

    闰年判断,若输入为闰年,且输入月份大于二月,天数计数器自增1
    若输入月份小于二月,则不需要自增

参考代码:

#include"stdio.h" 

typedef struct {              //定义自定义类型结构体
	int year;
	int month;
	int day;
}myTime;

int main(){
	myTime t;
	int count=0,i; //count天数计数器
	int days[12]={31,28,31,30,31,30,31,31,30,31,30,31};   //默认为平年365天
	scanf("%d%d%d",&t.year,&t.month,&t.day);
	//闰年判断,若输入为闰年,且输入月份大于二月,天数计数器自增1
	if(t.year%400==0 || (t.year%4==0 && t.year%100!=0)){
		if(t.month>2)
			count++;
	}
	//循环数组,按月份累加天数
	for(i=0;i<t.month-1;i++){
		count+=days[i];
	}
	//把最后的天数累加到天数计数器上
	printf("%d",count+t.day);
	return 0;
}


点赞(0)
 

0.0分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论