有网友碰到这样的问题“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 做秒数运算,再转换成结构打印。