判断某天是一年中的第几天
//求解:给出日期,判断是这年的第几天
/*思路:1涉及输入与输出的变量
2平润年月份+几号;
平闰年:if
月份 :switch
几号:
3输出
*/
#include <stdio.h>
int main()
{
int year, month, day;
int sum = 0;
int leap;
scanf("%d,%d,%d", &year, &month, &day);
/*
switch(month){
case 1:printf("1月份\n");break;
case 2:printf("2月份\n");break;
case 3:printf("3月份\n");break;
case 4:printf("4月份\n");break;
case 5:printf("5月份\n");break;
case 6:printf("6月份\n");break;
case 7:printf("7月份\n");break;
case 8:printf("8月份\n");break;
case 9:printf("9月份\n");break;
case 10:printf("10月份\n");break;
case 11:printf("11月份\n");break;
case 12:printf("12月份\n");break;
default:printf("月份输入错误\n");
}
*/
switch(month){
case 1: sum = 0; break;
case 2: sum = 31; break;
case 3: sum = 31 + 28; break;
case 4: sum = 31 + 28 +31; break;
case 5: sum = 31 + 28 +31 + 30; break;
case 6: sum = 31 + 28 +31 + 30 + 31; break;
case 7: sum = 31 + 28 +31 + 30 + 31 + 30; break;
case 8: sum = 31 + 28 +31 + 30 + 31 + 30 + 31; break;
case 9: sum = 31 + 28 +31 + 30 + 31 + 30 + 31 + 31; break;
case 10: sum = 31 + 28 +31 + 30 + 31 + 30 + 31 + 31 + 30; break;
case 11: sum = 31 + 28 +31 + 30 + 31 + 30 + 31 + 31 + 30 + 31; break;
case 12: sum = 31 + 28 +31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30; break;
default:printf("月份输入错误\n");
}
///printf("sum=%d\n", sum);
//加上day
sum += day;
/*平闰年计算规则:普通年能整出4且不能整出100,则是闰年
世纪年能整出400,则是闰年。
*/
if(year%4==0 && year%100 != 0 || year%400==0){
int leap = 0;
} else{
int leap = 1;
}
if(leap){
sum++;
}
printf("它是%d的第%d天\n", year, sum);
return 0;
}
学习到
-
平闰年判断
-
开关变量