CC17. 牛牛的时钟
描述
牛牛在午夜12点(0点0分0秒)正在思考,在 t 秒之后是什么时间。他思考了 n 次这个问题。输入描述
输出描述
输出 n 行,每行输出 t 秒之后的时间。示例1
输入:
4 60 61 1 2
输出:
0 1 0 0 2 1 0 2 2 0 2 4
C 解法, 执行用时: 2ms, 内存消耗: 292KB, 提交时间: 2022-03-07
#include<stdio.h> #include<stdlib.h> struct Time{ int hour;//时 int min;//分 int s;//秒 }; int main(){ int n; scanf("%d",&n); struct Time* time=(struct Time*)malloc(n*sizeof(struct Time)); int i; for(i=0;i<n;i++){ scanf("%d",&(time+i)->s); if(i>0){ (time+i)->s+=(time+i-1)->s; } } for(i=0;i<n;i++){ if((time+i)->s>=60){ (time+i)->hour=(time+i)->s/3600; (time+i)->min=(time+i)->s/60%60; (time+i)->s=(time+i)->s%60; } } for(i=0;i<n;i++){ printf("%d %d %d\n",(time+i)->hour,(time+i)->min,(time+i)->s); } }
C 解法, 执行用时: 2ms, 内存消耗: 296KB, 提交时间: 2022-04-17
#include <stdio.h> typedef struct time { int hour; int min; int sec; }time_t; time_t trans_time(int *t) { time_t tm; tm.hour = *t/3600; tm.min = *t/60 - tm.hour*60; tm.sec = *t - tm.min * 60 - tm.hour*3600; return tm; } int main(void) { int n, i; scanf("%d", &n); int t_sum = 0; int t[n]; time_t tm[n]; for(i = 0; i < n; i++) { scanf("%d", &t[i]); } for(i = 0; i < n; i++) { t_sum = t_sum + t[i]; tm[i] = trans_time(&t_sum); printf("%d %d %d\n", tm[i].hour, tm[i].min, tm[i].sec); } return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 304KB, 提交时间: 2022-05-08
#include<stdio.h> typedef struct Time{ int h; int m; int s; }Time; int main() { int n=0; scanf("%d",&n); int* p=(int*)malloc(n*sizeof(int)); if(NULL==p) { perror("MALLOC:"); return 1; } for(int i=0;i<n;i++) scanf("%d",p+i); Time a={0}; for(int i=0;i<n;i++) { int x=0,y=0; x=(a.s+*(p+i))/60; a.s=(a.s+*(p+i))%60; y=(a.m+x)/60; a.m=(a.m+x)%60; a.h=(a.h+y)%24; printf("%d %d %d\n",a.h,a.m,a.s); } return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 308KB, 提交时间: 2022-07-24
#include<stdio.h> int main() { int n,sec,c=0; int min=0,hou=0; scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%d",&sec); c+=sec; if(c>=60) { min=c/60; sec=c-min*60; if(min>=60) hou=min/60; min=min-hou*60; printf("%d %d %d\n",hou,min,sec); } else printf("0 0 0"); } return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 312KB, 提交时间: 2022-07-30
#include<stdio.h> struct time { int hour; int min; int sec; }; void get_time(int n,int * p) { int i,j,sum=0; struct time result[n]; for(i=0;i<n;i++) { *(p+i)+=sum; sum=*(p+i); result[i].hour=*(p+i)/3600; result[i].min=(*(p+i)%3600)/60; result[i].sec=*(p+i)%60; printf("%d %d %d\n",result[i].hour,result[i].min,result[i].sec); } } int main() { int n,i; int t[100]; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&t[i]); } get_time(n,t); return 0; }