任意给出一个年,月,日,判断出这是一年的第几天;
闰年算法:能被4整除且不能被100整除,或者能被400整除
如2015年 5 10 是这一年的第131天
提示用switch
平年:2月28天 闰年2月29天
1,3,5,7,8,10,12----31天
4,6,9,11-----30天
输入 闰年 1996 3 2
输入 平年 1997 3 2
代码如下
#include <stdio.h>
int main()
{
int year, month, day;
int sum;
printf("please input year month day:\n");
scanf("%d %d %d", &year, &month, &day);
switch (month)
{
case 1:
sum = day;
break;
case 2:
sum = 31 + day;
break;
case 3:
sum = 31 + 28 + day;
break;
case 4:
sum = 31 + 28 + 31 + day;
break;
case 5:
sum = 31 + 28 + 31 + 30 + day;
break;
case 6:
sum = 31 + 28 + 31 + 30 + 31 + day;
break;
case 7:
sum = 31 + 28 + 31 + 30 + 31 + 30 + day;
break;
case 8:
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + day;
break;
case 9:
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + day;
break;
case 10:
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day;
break;
case 11:
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day;
break;
case 12:
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day;
break;
default:
sum=0;
printf("您输入的月份有误\n");
break;
}
if((month>2)&&((year%4==0&&year%100!=0)||(year%400==0))){
sum=sum+1;
}
printf("%d %d %d是一年中的第%d天",year,month,day,sum);
return 0;
}
代码不太完善哟,这里的代码没有考虑一月的不能大于31天!文章来源:https://uudwc.com/A/Dzkva
大家看的时候要注意一下哟!文章来源地址https://uudwc.com/A/Dzkva