搜索
您的当前位置:首页正文

c语言的一道题,输入现在的时间,再输入经过xx分钟,输出经过xx分钟后的时间

2019-03-01 来源:赴品旅游

有网友碰到这样的问题“c语言的一道题,输入现在的时间,再输入经过xx分钟,输出经过xx分钟后的时间”。小编为您整理了以下解决方案,希望对您有帮助:

解决方案1:

#include <stdio.h>
int main()
{
int h,m,t;
printf("请输入现在时间,格式如9:30\n");
scanf("%d:%d",&h,&m);
printf("请输入经过的分钟数");
scanf("%d",&t);
printf("经过%d分钟以后的时间是%d:%d",t,(h*60+m+t)/60%24,(m+t)%60);
return 0;
}

//运行示例:


解决方案2:

#include<stdio.h>
int main()
{int h,m,x;
 printf("请输入现在时间(hh:mm) ");
 scanf("%d:%d",&h,&m);
 printf("请输入经过的分钟数 ");
 scanf("%d",&x);
 printf("%d:%d\n",h,m);
 m+=x;
 h=(h+m/60)%24;
 m%=60;
 printf("经过%d分钟以后的时间是%d:%02d\n",x,h,m);
 return 0;
}

解决方案3:

#include <stdio.h>int main(){ int h,m,s; scanf("%d:%d:%d",&h,&m,&s); printf("%d-%d-%d\n",h,m,s); return 0;}

解决方案4:

#include <stdio.h>

int main()
{     
    int now_hour, now_min;
    int aft_hour, aft_min;
    int min;
    
    scanf("%d:%d", &now_hour, &now_min);
    scanf("%d", &min);
    
    aft_hour = (now_hour + min/60) % 24;
    aft_min  = (now_min  + min - min/60*60);
    
    if( aft_min >= 60 ){
        aft_hour = (aft_hour+1) % 24;
        aft_min -= 60;
    }
    printf("%d:%d\n", aft_hour, aft_min);    
    
    return 0;
}

解决方案5:

时间有专门的结构和数值类型。
结构类型struct tm,数值类型time_t。
结构体中包含年月日时分秒(注意年份存的是实际年份-1900,月份存的是时间月份-1)。
time_t 表示至1900年开始经过的秒数。
localtime函数可以将time_t转换成struct tm。
mktime函数可以将mktime转换成time_t。
用time_t 做秒数运算,再转换成结构打印。

Top