输入一个日期,包括年、月、日3个数字,计算改日期是该年中的第几天。
输入:2015 5 1
输出:这是该年中第121天
#include <stdio.h>
int main(void)
{
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};//将12个月份的天数全部定义出来
int years,months,days,i,j=0,flag = 1;//j作为累加器,flag作为最后输出的判断依据
printf("请输入年月日来判断\n");
scanf("%d%d%d",&years,&months,&days);
if(years%4==0&&years%100!=0||years%400==0)//判断是否为闰年
{
a[1] = 29;
}
if(months>12||days>31)//当用户输入的程序超出正常范围的,即月份大于12的或天数大于31,不允许输出
{
flag = 0;
}
for(i=0;i<months-1;i++)//把在输入月份之前的月份天数加起来
{
j+=a[i];
}
if(flag)//当flag==1,即为真的时候才会输出是第几天
{
printf("这是第%d天",j+days);//加上当月的天数,就是我们所求的值
}
else
{
printf("数据输入错误,请重新输入");
}
return 0;
}
版权声明:本文为xiaotao2333333原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。