C语言实现:输入一个年月日计算出此日是本年的第几天

          C语言实现:输入一个年月日计算出此日是本年的第几天


#include "stdafx.h"
#include<stdio.h>
#include<string.h>
#include <math.h>
#include<stdlib.h>

#pragma warning(disable:4996)


/*
平年365天,其中2月28天,
闰年366天,其中2月29天.
平年365(1-12月分别为31天,28天,31天,30天,31天,30天,31天,31天,30天,31天,30天,31天)
闰年366(1-12月分别为31天,29天,31天,30天,31天,30天,31天,31天,30天,31天,30天,31天)
*/

struct date
{
	int year, mouth, day;
};

int main(void)
{
	struct date d;
	int i, k = 0, nday = 0;

	printf("请输入当前年月日: ");
	scanf("%d%d%d", &d.year, &d.mouth, &d.day);

	///先判断是否是闰年,符合条件就是闰年,k置为1
	if (d.year % 4 == 0 && d.year % 100 != 0 || d.year % 400 == 0)
		k = 1;

	for (i = 1; i<d.mouth; i++)
	{
		//如果是2月并且是闰年,加上29天
		if (i == 2 && k == 1)
			nday += 29;
		else if (i == 2)
			nday += 28;
		else if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12)
			nday += 31;
		else
			nday += 30;
	}

	nday += d.day;

	printf("今天是今年的第 %d 天\n", nday);
	
	getchar();
	system("pause");
	return 0;
	
}

猜你喜欢

转载自blog.csdn.net/weibo1230123/article/details/81363281
今日推荐