输入日期判断为该年第几天 (易懂版)

论坛 期权论坛 脚本     
匿名技术用户   2021-1-16 08:14   119   0

#include<stdio.h>
int main()
{
int i,j,k;
while(scanf("%d/%d/%d",&i,&j,&k) !=EOF){
if((i%4==0 && i%100!=0)||(i%400==0)){

switch(j){
case 1: printf("%d\n",k); break;
case 2: printf("%d\n",31+k); break;
case 3: printf("%d\n",60+k); break;
case 4: printf("%d\n",91+k); break;
case 5: printf("%d\n",121+k); break;
case 6: printf("%d\n",152+k); break;
case 7: printf("%d\n",182+k); break;
case 8: printf("%d\n",213+k); break;
case 9: printf("%d\n",244+k); break;
case 10: printf("%d\n",274+k); break;
case 11: printf("%d\n",305+k); break;
case 12: printf("%d\n",335+k); break;
}
}
else{

switch(j){
case 1: printf("%d\n",k); break;
case 2: printf("%d\n",31+k); break;

case 3: printf("%d\n",60+k-1); break;
case 4: printf("%d\n",91+k-1); break;
case 5: printf("%d\n",121+k-1); break;
case 6: printf("%d\n",152+k-1); break;
case 7: printf("%d\n",182+k-1); break;
case 8: printf("%d\n",213+k-1); break;
case 9: printf("%d\n",244+k-1); break;
case 10: printf("%d\n",274+k-1); break;
case 11: printf("%d\n",305+k-1); break;
case 12: printf("%d\n",335+k-1); break;
}
}
}
return 0;
}
/*
第几天?
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 73162 Accepted Submission(s): 27675


Problem Description
给定一个日期,输出这个日期是该年的第几天。

Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。

Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。

Sample Input
1985/1/20
2006/3/12

Sample Output
20
71

*/

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP