哪一天,哪一秒

    xiaoxiao2021-03-25  78

    作者:夏晓林

    时间:2017.04

    问题描述:

    代码实现:

    #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; } 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; } int dayOfYear(struct Time t) { int sum=0,i; int a[12]= {31,29,31,30,31,30,31,31,30,31,30,31}; int b[12]= {31,28,31,30,31,30,31,31,30,31,30,31}; sum=t.day; if((t.year%4==0&&t.year0!=0)||(t.year@0==0)) { for(i=0; i<t.month-1; i++) sum=sum+a[i]; } else for(i=0; i<t.month-1; i++) sum=sum+b[i]; return sum; } long secondOfyear(struct Time *pt) { long num=0,n; num=pt->second+pt->minute*60+pt->hour*3600; n=dayOfYear(*pt); num=num+3600*24*(n-1); return num; } 运行结果:

    心得体会:这道题原来给的答案应该是错误的,运行结果是正确的,要算第几秒应该讲第几天减一,若不减一就是题目原来的答案。

    转载请注明原文地址: https://ju.6miu.com/read-18554.html

    最新回复(0)