• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

kaikai向前走

转职任务完成。崭新fn诞生
  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

短代码.第几天

给定一个日期,输出这个日期是该年的第几天。输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成。对于每组输入数据,输出一行,表示该日期是该年的第几天。
比如
1985/1/20
2006/3/12
输出
20
71
main(y,m,d){while(scanf("%d/%d/%d",&y,&m,&d)==3){char s[]={0,1,-1,0,0,1,1,2,3,3,4,4};m--;d+=m*30+s[m],(y%400==0||y%100&&y%4==0)&&m>1&&d++;printf("%d\n",d);}}

int s[]={0,1,-1,0,0,1,1,2,3,3,4,4};main(y,m,d){for(;~scanf("%d/%d/%d",&y,&m,&d);printf("%d\n",d+m*30+s[m]+!((y%400&&0==y%100||y%4)||m<2)))m--;}

int s[]={0,1,-1,0,0,1,1,2,3,3,4,4};main(y,m,d){for(;~scanf("%d/%d/%d",&y,&m,&d);printf("%d\n",d+m*30+s[m]+!(y%400&&0==y%100||y%4||m<2)))m--;}

int s[]={0,1,-1,0,0,1,1,2,3,3,4,4};main(y,m,d){for(;~scanf("%d/%d/%d",&y,&m,&d);printf("%d\n",d+m*30+s[m]+!(y/100%4||y%4||m<2)))m--;}

int s[]={0,1,-1,0,0,1,1,2,3,3,4,4};main(y,m,d){for(;~scanf("%d/%d/%d",&y,&m,&d);printf("%d\n",d+m*30+s[m]+!(y/100%4+y%4||m<2)))m--;}

main(y,m,d)
{for(;~scanf("%d/%d/%d",&y,&m,&d);printf("%d\n",d+m*30+"bcabbccdeeff"[m]-'b'+!(y/100%4+y%4||m<2)))m--;}

main(y,m,d)
{for(;~scanf("%d/%d/%d",&y,&m,&d);printf("%d\n",d+m*30+"BCABBCCDEEFF"[m-1]-96+!(y/100%4+y%4||m<3)));}


main(y,m,d)
{for(;~scanf("%d/%d/%d",&y,&m,&d);printf("%d\n",d+m*30+"XBCABBCCDEEFF"[m]-96+!(y/100%4+y%4||m<3)));}

main(y,m,d)
{for(;~scanf("%d/%d/%d",&y,&m,&d);printf("%d\n",d+m*30+"XBCABBCCDEEFF"[m]-95-(y/100%4+y%4||m<3)));}
不多解释了...

也许这里只有y/100%4+y%4判断是否是闰年有点价值吧...

posted on 2007-07-18 23:35  kaikai  阅读(609)  评论(1)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3