年月日转换-指针法
想用数组指针试试。不想用参考答案里的字符指针方法。
不知道怎么摆平编译时的两个报错消息,请帮帮忙,谢谢。
#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];
arrptr = 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;
}
不知道怎么摆平编译时的两个报错消息,请帮帮忙,谢谢。
#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];
arrptr = 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;
}
...全文
相关推荐
把毫秒数转换为年月日时分秒
把毫秒数转换为年月日时分秒
1111 对称日【PAT (Basic Level) Practice (中文)】
1111 对称日【PAT (Basic Level) Practice (中文)】
时间戳转换为时间 年月日时间的JS函数
介绍了时间戳转换为时间 年月日时间的JS函数,有需要的朋友可以参考一下
MJD时间算法转换,直接通过十六进制进行年月日转换
算法已经完善,通过输入的MJD十六进制,转换成需要的年月日,代码中有详细解释
Java获取当前时间年月日的方法
主要为大家详细介绍了Java获取当前时间年月日的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下



