zoukankan      html  css  js  c++  java
  • Problem Y: 哪一天,哪一秒?

    Problem Y: 哪一天,哪一秒?

    Time Limit: 1 Sec  Memory Limit: 128 MB
    Submit: 337  Solved: 196
    [Submit][Status][Web Board]

    Description

      小王特爱数字。期末复习各门功课烧脑厉害,他想换换脑筋,就想算算数。他想任意给出一个时间(年月日时分秒),得出是一年当中的第几天,还有,这是一年中的第几秒。
    下面的程序,定义了一个结构体以及部分程序,可以对n个时间做如上的操作,请按给出程序限制的形式,定义出其他必须的函数并提交。

    Input

    整数n,代表处理几个日期值
    n行日期值,每行的整数分别代表年、月、日、时、分、秒,测试数据保证都是合法时间取值,即不会出类似2月30号的输入

    Output

    n行输出,每行对应给出的时间是当年第几天,以及是当年第几秒

    Sample Input

    3
    1971 1 8 14 25 48
    2011 2 27 1 27 35
    2012 11 2 11 23 1

    Sample Output

    8 743148
    58 5016455
    307 26565781
    #include <stdio.h>
    
     struct Time
    
     {
    
         int year;
    
         int month;
    
         int day;
    
         int hour;
    
         int minute;
    
         int second;
    
     };
    
     void getTime(struct Time *pt);
    
     int dayOfYear(struct Time t);
    
     long secondOfyear(struct Time *pt);
    
     int main()
    
     {
    
         struct Time t;
    
         int i,n;
    
         scanf("%d",&n);
    
         for(i=0;i<n;i++)
    
         {
    
             getTime(&t);
    
             printf("%d %ld\n",dayOfYear(t),secondOfyear(&t));
    
         }
    
         return 0;
     }
    int dayOfYear(struct Time t)
    {
        int i;
        int r=0;
        r=t.day;
        if((t.year%4==0&&t.year%100!=0)||(t.year%400==0)&&(t.month>=2))
        {
            r=r+1;
        }
        for(i=1;i<=t.month;i++)
        {
            if(i==2)
                r+=31;
            if(i==3)
                r+=28;
            if(i==4)
                r+=31;
            if(i==5)
                r+=30;
            if(i==6)
                r+=31;
            if(i==7)
                r+=30;
            if(i==8)
                r+=31;
            if(i==9)
                r+=31;
            if(i==10)
                r+=30;
            if(i==11)
                r+=31;
            if(i==12)
                r+=30;
        }
        return r;
    }
    long secondOfyear(struct Time *pt)
    {
        int n;
        n=dayOfYear(*pt)*3600*24+(*pt).hour*3600+(*pt).minute*60+(*pt).second;
        return n;
    }
    void getTime(struct Time *pt)
    
     {
    
         scanf("%d%d%d%d%d%d", &pt->year, &pt->month, &pt->day, &pt->hour, &pt->minute, &pt->second);
    
         return;
    
     }
    

      

     
  • 相关阅读:
    Unity3d:Unknown type 'System.Collections.Generic.CollectionDebuggerView'1
    Unity3d:The requested item has been unloaded
    installshield 注册dll
    sql查找字符串是否包含字符
    asp获取勾选checkbox的值
    Pyqt5.2.1生成的.ui文件转换成.py
    scrapy爬虫的编写步骤
    IBM MQ 集成CXF 发送JMS 消息
    io输出流变为输入流
    hibernate flush clear的区别
  • 原文地址:https://www.cnblogs.com/mjn1/p/8605533.html
Copyright © 2011-2022 走看看