| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2443 人关注过本帖
标题:求年月日
只看楼主 加入收藏
小烧饼
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-12-17
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
求年月日
题目描述
输入年份和这一年的第几天,输出具体的年、月、日的信息。(注意闰年的判断!)

输入
第一行一个整数T,表示下面有T组测试用例。

接下来T行,每行输入两个整数分别代表年份和这一年的第几天。(假设数据都在有效范围内)

输出
对于每组测试用例,输出对应的年、月、日。输出的数字之间以一条横线间隔,输出完毕换行。

样例输入
1
2011 20

样例输出
2011-1-20
搜索更多相关主题的帖子: 年月日 信息 
2016-12-17 18:07
小烧饼
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-12-17
收藏
得分:0 
#include <stdio.h>
#include <stdlib.h>

int main()
{
   int year,n,a,b,day[11]={31,28,31,30,31,30,31,31,30,31,30,31},i,c,j;
   scanf("%d",&c);
   for(j=1;j<=c;j++)
   {
     scanf("%d%d",&year,&n);
   if(year%4!=0||year%100==0&&year%400!=0)
   {
      
       for(i=0;n>0;i++)
       {
           b=n;
           n=n-day[i];
       }
       printf("%d-%d-%d\n",year,i,b);
   }
   else
   {
       day[1]=29;
      for(i=0;n>0;i++)
       {
           b=n;
           n=n-day[i];
       }
       printf("%d-%d-%d\n",year,i,b);
   }
   }
    return 0;
}
2016-12-17 18:09
小烧饼
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-12-17
收藏
得分:0 
哪错啦?
2016-12-17 18:10
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:0 
int year,n,a,b,day[12]={31,28,31,30,31,30,31,31,30,31,30,31},i,c,j;

早知做人那么辛苦!  当初不应该下凡
2016-12-17 20:38
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:2 
我自己做过一下 day[11]就够了,12月不用记,剩余的用天数加~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-12-17 21:43
小烧饼
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-12-17
收藏
得分:0 
回复 5楼 九转星河
但是测试就是通不过
2016-12-18 09:57
小烧饼
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-12-17
收藏
得分:0 
哪位哥哥能给出自己的程序,谢谢
2016-12-18 10:03
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:18 
回复 7楼 小烧饼
//也是没有经过细测,时间有限,做完了事,有问题再提出~

#include<stdio.h>
int main()
{
    int year,month,day,t;
    int mon[11]={31,28,31,30,31,30,31,31,30,31,30};
    int i=0;

    scanf("%d",&t);
    while (t--)
    {
        scanf("%d%d",&year,&day);

        if (year%4==0&&year%100!=0||year%400==0)
            mon[1]++;

        for (i=0;day-mon[i]>0&&i<11;i++)
            day-=mon[i];

         month=i+1;

        printf("%d-%d-%d\n",year,month,day);

      if (mon[1]==29)
         mon[1]--;

    }

    return 0;
}



[此贴子已经被作者于2016-12-18 16:43编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-12-18 16:41
快速回复:求年月日
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.061388 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved