#include <stdio.h>
#include <stdlib.h>
int judge(int y,int m,int d)
{
int i;
int flag;//平年标志位
int total;
if((y%4==0&&y%100!=0)||y%400==0) //if else 判断是平年还是闰年
flag=1;
else
flag=0;
if(m<1||m>12)//判断月份是否正确
return 0;
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)//判断每个月份的日期是否正确
{
if(d<1||d>31)
return 0;
}
else if(m==4||m==6||m==9||m==11)
{
if(d<1||d>30)
return 0;
}
else
{
if(flag==1)
{
if(d<1||d>29)
return 0;
}
else
{
if(d<1||d>28)
return 0;
}
}
for(i=1;i<=m;i++)
{
if(i==1)
total=d;
else if(i==2||i==4||i==6||i==8||i==9||i==11)
total+=31;
else if(i==5||i==7||i==10||i==12)
total+=30;
else
if(flag==1)
total+=29;
else
total+=28;
}
return total;
}
int main()
{
int y,m,d,sign;
printf("请输入年月日:输入格式为2012 1 1\n");
scanf("%d%d%d",&y,&m,&d);
sign=judge(y,m,d);
if(sign==0)
printf("输入有误!\n");
else
printf("%d\n",sign);
return 0;
}
编写函数判断某年某月某日是这一年的第几天?
最新推荐文章于 2023-07-09 12:46:11 发布