69,371
社区成员
发帖
与我相关
我的任务
分享
scanf("%d-%d-%d",&month, &day, &year);
#include <stdio.h>
static char daytab[][13] = {
{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
};
static char (*arrptr)[13] = daytab; //像这样
int day_of_year(int year, int month, int day)
{
int i, leap;
leap = year % 4 == 0 && year %100 != 0 || year % 400 == 0;
for (i = 1; i < month; i++)
day += *(*(arrptr+leap) + i);
return day;
}
void month_day(int year, int yearday, int *pmonth, int *pday)
{
int i, leap;
leap = year % 4 == 0 && year %100 != 0 || year % 400 == 0;
for (i = 1; yearday > *(*(arrptr+leap) + i); i++)
yearday -= *(*(arrptr+leap) + i);
*pmonth = i;
*pday = yearday;
}
int main()
{
int year, month, yearday, day;
int *pmonth, *pday;
printf("Enter the year, month and day:\n");
scanf("%d%d%d", &month, &day, &year);
printf("the %dth day of the year.\n", day_of_year(year, month, day));
printf("Enter the year and yearday:\n");
scanf("%d%d", &year, &yearday);
printf("the %dth day of month %d.\n", *pmonth, *pday);
return 0;
}