我已经把两个函数合并了,不过最后的结果不对,找不到原因了。
#include "stdio.h"
int leap(int y)
{
if(y%4==0&&y%100!=0||y%400==0)
return 1;
else
return 0;
}
int count(int y,int n,int i,int d)
{
int c[2]={i,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(i=0;n>0;i++)
{ d=n;
n-=a[i];}
else
for(i=0;n>0;i++)
{ d=n;
n-=a[i];}
return c[2];
}
void main()
{
int y,n,i,d,c[2];
printf("请输入年数、天数:\n");
scanf("%d%d",&y,&n);
c[2]=count(y,n,i,d);
printf("%d %d\n",i,d);
}
最后运行的结果始终是-858993460 1638216
#include "stdio.h"
int leap(int y)
{
if(y%4==0&&y%100!=0||y%400==0)
return 1;
else
return 0;
}
int count(int y,int n,int i,int d)
{
int c[2]={i,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(i=0;n>0;i++)
{ d=n;
n-=a[i];}
else
for(i=0;n>0;i++)
{ d=n;
n-=a[i];}
return c[2];
}
void main()
{
int y,n,i,d,c[2];
printf("请输入年数、天数:\n");
scanf("%d%d",&y,&n);
c[2]=count(y,n,i,d);
printf("%d %d\n",i,d);
}
最后运行的结果始终是-858993460 1638216