黑马程序员技术交流社区
标题:
计算某天是这一年中的第几天
[打印本页]
作者:
Beacon
时间:
2014-10-27 13:55
标题:
计算某天是这一年中的第几天
刚刚学习了这个程序,思路很简单,就是计算出当年里每个月之前的天数,然后加上当月的天数。唯一注意的应该是不要忘记区分平年和闰年的差别。
int main()
{
int day, month, year, sum, leap;
printf("\nplease input year, month, day\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;
default:printf("data error");break;
}
sum = sum + day; /*再加上某天的天数*/
if((year%4==0 && year%100!=0) || year%400==0)/*判断是不是闰年*/
leap = 1;
else
leap = 0;
if(leap==1 && month>2)/*如果是闰年且月份大于2,总天数应该加一天*/
sum++;
printf("It is the %dth day.",sum);
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2