C语言自学之路
试做题目
开始学习C语言也有一个多星期了,写这个bolg就权当记录之用吧。
题目:输入某年某月某日,判断这一天是这一年的第几天?
源码
///
// 题目:输入某年某月某日,判断这一天是这一年的第几天?
//
// 思路:月份可知当月以前总天数,加上日,即为全年第几天。
// 遇到闰年,2月以上加一天。
///
#include <stdio.h>
int main()
{
int y,m,d,sum;
printf ("请输入年月日,用空格隔开。如2019 3 21\n");
scanf ("%d %d %d", &y, &m, &d);
switch (m) //当月前的总天数
{
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 ("日期输入错误\n");
}
sum += d; // 加上日,即为第几天
if (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0)) // 判断是否闰年
{
if (m > 2) // 如果月份大于2月,才需要加1
{
sum++;
printf ("这天是%d年的第%d天\n", y, sum);
}
}
else printf ("这天是%d年的第%d天\n", y, sum);
return 0;
}