代码:
/*
C语言第四例
题目:输入某年某月某日,判断这一天是这一年的第几天?
程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
*/
#include <stdio.h>
void main(void)
{
int year,month,day,sum,temp;
printf("请输入日期年月日:\n");
scanf("%d,%d,%d",&year,&month,&day);
switch(month) //假设现在是三月,则前两个月天数加起来,再加本月天数即可
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
}
sum=sum+day;
if(year%400==0||(year%4==0&&year%100!=0)) //判断是否是闰月,闰月在此基础上加一天
{
temp=1;
}
else
{
temp=0;
}
if(temp==1&&month>2)
{
sum++;
}
printf("%d,%d,%d,是第%d天\n",year,month,day,sum);
}
运行结果: