#include <stdio.h>
#include <stdlib.h>
struct date {
int year;
int month;
int day;
} date;
int main() {
int sum = 0,tag;
printf("請輸入年月日:\n");
scanf("%d,%d,%d", &date.year, &date.month, &date.day);
switch (date.month) { //先計算月份前面的月份有多少天(不考慮閏年)
case 1:
sum = 0;
break;
case 2:
sum = 31;
break;
case 3:
sum = 59;
break;
case 4:
sum = 90;
break;
case 5:
sum = 120;
break;
case 6:
sum = 151;
break;
case 7:
sum = 181;
break;
case 8:
sum = 212;
break;
case 9:
sum = 243;
break;
case 10:
sum = 273;
break;
case 11:
sum = 304;
break;
case 12:
sum = 334;
break;
default:
printf("the month error");
exit(1);
}
//這裏可以寫一些日的合法判斷
sum += date.day; //加上本月的日期數
if(date.year% 400 == 0 || (date.year % 4==0 && date.year % 100 != 0 )) //閏年
tag = 1;
else
tag = 0;
if(tag == 1 && date.month > 2) //是閏年 月份大於2月 天數加一天
sum++;
printf("這天是當年的第 %d 天。\n",sum);
return EXIT_SUCCESS;
}
【C語言】結構體判斷一個日期是該年的第幾天
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.