读书人

输入年月日 计算该日是该年的第几天?

发布时间: 2012-04-20 15:27:03 作者: rapoo

输入年月日 计算该日是该年的第几天?
本人新手,不知道怎么写,大家给点思路啊!

[解决办法]
首先判断改年是润年还是平年,然后定义一个长度为12的数组char month[12]={31,0,31,30,31,30,31,31,30,31,30,31};初始化每个月的天数,
2月初始化为0,更具平润年判断加上28或者29~~
然后再加上你输入的是几号,就可以得出是改年的第几天了~~

再不懂,找我,我给你写个~~
[解决办法]
按这种格式输入:
1985/1/20
2006/3/12

C/C++ code
#include"stdio.h"int leap(int a)  //判断闰年{if((a%4==0&&a%100!=0)||(a%400==0))return 1;elsereturn 0;}int main(){int a,b,c,d;while(scanf("%d/%d/%d",&a,&b,&c)==3){d=leap(a);switch(b){case 1:printf("%d\n",c);break;case 2:printf("%d\n",c+31);break;case 3:printf("%d\n",(d==1?60+c:59+c));break;case 4:printf("%d\n",(d==1?91+c:90+c));break;case 5:printf("%d\n",(d==1?121+c:120+c));break;case 6:printf("%d\n",(d==1?152+c:151+c));break;case 7:printf("%d\n",(d==1?182+c:181+c));break;case 8:printf("%d\n",(d==1?213+c:212+c));break;case 9:printf("%d\n",(d==1?244+c:243+c));break;case 10:printf("%d\n",(d==1?274+c:273+c));break;case 11:printf("%d\n",(d==1?305+c:304+c));break;case 12:printf("%d\n",(d==1?335+c:334+c));break;}}return 0;} 

读书人网 >C++

热点推荐