感觉我的思路没什么问题,但好像在函数for循环部分的i值有问题,请问那个for语句怎么改?(因为要求,函数是固定的)
#include<stdio.h>
void MonthDay(int year,int yearDay,int *pMonth,int *pDay);
int main()
{
int year,yearday,month,day;
printf("请输入年份:");
scanf("%d",&year);
printf("请输入第几天:");
scanf("%d",&yearday);
MonthDay(year,yearday,&month,&day);
printf("是今年的%d月%d日\n",month,day);
return 0;
}
void MonthDay(int year,int yearDay,int *pMonth,int *pDay)
{
int m[12]={31,28,31,30,31,30,31,31,30,31,30,31},i;
if(year%4==0&&year%100!=0||year%400==0)
m[1]=29;
*pMonth=0;
for(i=0;i<12;i++){
*pDay=yearDay-m[i];
*pMonth=i;
if(*pDay<=0) {
*pDay=*pDay+m[i];
break;
}
}
}