定義一個結構體來存儲日期(含年、月、日)。並設計一個函數,計算傳入的結構體存儲的日期是一年中的第幾天

更多資料請點擊:我的目錄

這個題目主要還是要考慮輸入年份是否爲潤年,潤年的標誌:能被4和100整除或被400整除

運行結果:
在這裏插入圖片描述 在這裏插入圖片描述

#include <stdio.h>

struct Date
{
	int year;
	int month;
	int day;
};

int days(int year, int month ,int day);
struct Date date;

int main()
{
	
	printf("請輸入年、月、日:");
	scanf("%d%d%d",&date.year, &date.month, &date.day);
	int total = days(date.year, date.month, date.day);
	printf("%d月%d日是在%d年中的第%d天\n", date.month, date.day, date.year,total); 
	return 0;
}

int days(int year, int month ,int day)
{
	int a[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
	int sum = 0;
	for( int i = 0; i < date.month - 1; i++ )
	{
		sum += a[i] + date.day ;
	}
	if( (date.year%4 == 0 && date.year%100 != 0)  && date.month>2)		//判斷輸入年份是否爲潤年,並且輸入月在2月之後(不包括2月)
       	return (sum+1);   						//潤年2月比平年多一天(共29天)
 	else
   		return sum;
}

更多資料請點擊:我的目錄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章