请问如何使自定义的一个函数能返回两个值
我自己根据书上“计算某日是该年的第几天”,改写为“计算某年的某天是几月几日”,在自定义一个函数后不能同时返回月和日,只能定义两个函数分别计算月和日。我想问一下能不能通过一个函数就能得到月和日。
#include "stdio.h"
int leap(int y)
{
if(y%4==0&&y%100!=0||y%400==0)
return 1;
else
return 0;
}
int month(int y,int n)
{
int i;
int a[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int b[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(leap(y)==1)
for(i=0;n>0;i++)
n-=a[i];
else
for(i=0;n>0;i++)
n-=a[i];
return i;
}
int day(int y,int n)
{
int j,d;
int a[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int b[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(leap(y)==1)
for(j=0;n>0;j++)
{ d=n;
n-=a[j];}
else
for(j=0;n>0;j++)
{ d=n;
n-=a[j];}
return d;
}
void main()
{
int y,n,i,d;
printf("请输入年数、天数:\n");
scanf("%d%d",&y,&n);
i=month(y,n)-1;
d=day(y,n);
printf("%d %d\n",i,d);
}