📄 ex6_3.c
字号:
/*
Ex6_3
Calculate the number of days between two dates and the weekday of the two
days.
*/
struct date_type
{
int year, month, day;
};
char *week[7] = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"};
/* function to calculate the N value
*/
long n_value(date)
struct date_type date;
{
long n, f, g;
if (date.month <= 2)
{
f = date.year - 1;
g = date.month + 13;
} else
{
f = date.year;
g = date.month + 1;
}
n = 1461 * f / 4 + 153 * g / 5 + date.day;
if (date.year < 1700 || date.year == 1700 && date.month < 3)
printf("THE DATE IS TOO LATE.\n");
else if (date.year < 1800 || date.year == 1800 && date.month < 3)
n += 2;
else if (date.year < 1900 || date.year == 1900 && date.month < 3)
n ++;
return(n);
} /* N_VALUE */
/* main function to calculate the number of days between two dates
*/
main()
{
struct date_type date1, date2;
long n1, n2;
int d1,d2;
printf("Please input the first date! (dd/mm/yyyy)\n");
scanf("%d/%d/%d", &date1.day, &date1.month, &date1.year);
printf("Please input the second date! (dd/mm/yyyy)\n");
scanf("%d/%d/%d", &date2.day, &date2.month, &date2.year);
n1 = n_value(date1);
n2 = n_value(date2);
printf("THE NUMBER OF DAYS BETWEEN TWO DATES IS %-d.\n",n1>n2?n1-n2:n2-n1);
d1 = (int)((n1-621049)%7);
d2 = (int)((n2-621049)%7);
printf("THE DAY OF THE DATE1 IS %s.\n", week[d1]);
printf("THE DAY OF THE DATE2 IS %s.\n", week[d2]);
} /* MAIN */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -