給出年、月、日,計算該日是該年的第幾天


給出年、月、日,計算該日是該年的第幾天

題目解析:

此題采用枚舉法進行每月天數的累加,其中關鍵點注意需要判斷年份是否為閏年,如果是還需要多累加1天。

代碼示例:

#include <stdio.h>
#include<stdio.h>

/* 函數sum_day:計算日期 */
int sum_day(int month, int day)        
{
	int day_tab[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
	int i;
	for (i = 1; i < month; i++)
		day += day_tab[i];      /* 累加所在月之前天數 */
	return day;
}                         

/* 函數leap:判斷是否為閏年 */
int leap(int year)
{
	int leap;
	leap = year % 4 == 0 && year % 100 != 0 || year % 400 == 0;
	return leap;
}

int main()
{
	int year, month, day, days;
	printf("input date(year,month,day):");
	scanf("%d %d %d", &year, &month, &day);
	printf("%d/%d/%d ", year, month, day);
	days = sum_day(month, day);                  /* 調用函數sum_day */
	if (leap(year) && month >= 3)                  /* 調用函數leap */
		days = days + 1;
	printf("is the %dth day in this year.\n", days);
	return 0;
}

運行結果:

給出年、月、日,計算該日是該年的第幾天


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM