#include <stdio.h>
void inputDate(int *ptrYear, int *ptrYeaday);
void GetMonthDay(int year, int yeaday, int *ptrMonth, int *ptrDay);
void DispDate(int year, int month, int day);
int main()
{
int day, month, year, yearday;
inputDate(&year, &yearday);
GetMonthDay(year, yearday, &month, &day);
DispDate(year, month, day);
return 0;
}
void inputDate(int *ptrYear, int *ptrYeaday)
{
scanf("%d%d", ptrYear, ptrYeaday);
}
void GetMonthDay(int year, int yearday, int *ptrMonth, int *ptrDay)
{
int k, leap;
int tab[2][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}};
leap = (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
for (k = 1; yearday > tab[leap][k]; k++)
{
yearday = yearday - tab[leap][k];
/* code */
}
*ptrMonth = k;
*ptrDay = yearday;
}
void DispDate(int year, int month, int day)
{
printf("%d-%d-%d", year, month, day);
}
《c语言程序设计》习题.日期计算(利用指针)
最新推荐文章于 2021-12-01 11:47:47 发布