#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-05-13 23:40:01 发布
这是一个C语言程序,用于判断并计算输入的年、月、日是否有效,并返回该日期在当年的总天数。程序首先通过条件判断确定年份是否为闰年,然后根据月份和日期的合理性进行验证。如果输入有效,程序会计算并返回日期所在的天数,否则输出错误提示。
摘要由CSDN通过智能技术生成