#include<stdio.h>
int leap(int a)
{
if(a%4== 0 && a%10 != 0 || a%400 ==0) 判断闰年的条件
return 1; 是闰年返回值为1
else
return 0; 不是闰年返回值为0
}
int number(int year,int m,int d)
{
int sum = 0,i,a[]={31,28,31,30,31,30,31,30,31,31,30,31,30,31}; 数组存放平年每个月的天数
int b[]={31,29,31,30,31,30,31,30,31,31,30,31,30,31}; 数组存放闰年每个月的天数
if(leap(year)==1) 判断是否为闰年
for(i=0;i<m-1;i++) m-1是前几个月的天数
sum+=b[i]; 前几个月天数的总和
else
for(i=0;i<m-1;i++)
sum+=a[i];
sum+=d; 总天数中再加上当月的天数
return sum;
}
void main() 主函数,调用以前的函数
{
int year,month,day,n;
printf("请输入年月日:");
scanf("%d%d%d",&year,&month,&day);
n = number(year,month,day); 输出总天数
printf("第%d天\n",n);
int leap(int a)
{
if(a%4== 0 && a%10 != 0 || a%400 ==0) 判断闰年的条件
return 1; 是闰年返回值为1
else
return 0; 不是闰年返回值为0
}
int number(int year,int m,int d)
{
int sum = 0,i,a[]={31,28,31,30,31,30,31,30,31,31,30,31,30,31}; 数组存放平年每个月的天数
int b[]={31,29,31,30,31,30,31,30,31,31,30,31,30,31}; 数组存放闰年每个月的天数
if(leap(year)==1) 判断是否为闰年
for(i=0;i<m-1;i++) m-1是前几个月的天数
sum+=b[i]; 前几个月天数的总和
else
for(i=0;i<m-1;i++)
sum+=a[i];
sum+=d; 总天数中再加上当月的天数
return sum;
}
void main() 主函数,调用以前的函数
{
int year,month,day,n;
printf("请输入年月日:");
scanf("%d%d%d",&year,&month,&day);
n = number(year,month,day); 输出总天数
printf("第%d天\n",n);
}
这个函数中主要是函数的调用,以及去前面的闰年的判断。主要的思维是数组的应用。