四、输入某年某月某日,判断出是这一年当中的第几天?
编程思路:特别要注意的是闰年和非闰年,月份大于或者小于3月份。
#include <stdio.h>
int main()
{
int day,month,year,sum,leap;
printf("\n请输入年、月、日,格式为:年,月,日(2019,1,9)\n");
scanf("%d,%d,%d",&year,&month,&day);
//不了解switch结构的可上网搜一下!
switch(month) //按照非闰年2月28天计算之前一个月的天数
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=(31+28);break;
case 4:sum=(59+31);break;
case 5:sum=(90+30);break;
case 6:sum=(120+31);break;
case 7:sum=(151+30);break;
case 8:sum=(181+31);break;
case 9:sum=(212+31);break;
case 10:sum=(243+30);break;
case 11:sum=(273+31);break;
case 12:sum=(304+30);break;
}
sum=sum+day;//加上某天天数
//判断年份是不是闰年
if(year%100!=0 && year%4==0 && year%400==0)
{
leap=1;//闰年
}
else
{
leap=0;//非闰年
}
//判断闰年情况下月份是否大于2月份
if(leap==1 && month>2)
{
sum=sum+1; //总天数加上2月份多出的1天
}
printf("这是这一年当中的第 %d 天!",sum);
printf(""\n"");
}
每天一练,坚持不懈,少侠带你进入C语言的世界修炼!