鱼C论坛

 找回密码
 立即注册
查看: 842|回复: 2

[已解决]时间换算,求助!!!

[复制链接]
发表于 2021-12-18 12:54:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时)。
#include <stdio.h>
int main()
{
    int h,m,s,n,ad;
    scanf("%d:%d:%d",&h,&m,&s);
    scanf("%d",&n);
    ad=3600*h+60*m+s+n;
    ad=ad%86400;
    h=(ad-ad%3600)/3600;
    ad=ad%3600;
    m=(ad-ad%60)/60;
    ad=ad%60;
    s=ad;
    printf("%02d:%02d:%02d",h,m,s);
    }
在小时换算公式这条看不懂求助!
最佳答案
2021-12-18 15:43:02
#include <stdio.h>
int main()
{
    int h,m,s,n,ad;
    scanf("%d:%d:%d",&h,&m,&s);
    scanf("%d",&n);
    ad=3600*h+60*m+s+n;/*这个是加了n之后一共有多少秒*/
    ad=ad%86400;/*超过了86400秒了就是转到了第二天,重新算*/
    h=(ad-ad%3600)/3600;/*完全可以写成ad/3600,求时*/
    ad=ad%3600;/*除去整时剩下的秒数*/
    m=(ad-ad%60)/60;/*完全可以写成ad/60,求分*/
    ad=ad%60;/*除去整分整时剩下的秒数*/
    s=ad;/*多余的 不够60的秒就是s*/
    printf("%02d:%02d:%02d",h,m,s);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-18 13:10:54 | 显示全部楼层
本帖最后由 jackz007 于 2021-12-18 13:17 编辑
    h=(ad-ad%3600)/3600;    // 估计是怕 ad 不能被 3600 整除,所以,先从 ad 中减去 ad 除以 3600 的余数,然后再除,典型的画蛇添足! 
#include <stdio.h>
int main(void)
{
        int h , m , s , n , ad              ;
        scanf("%d:%d:%d" , & h , & m , & s) ;
        scanf("%d" , & n)                   ;
        ad = 3600 * h + 60 * m + s + n      ;
        ad %= 86400                         ;
        h = ad / 3600                       ;
        m = (ad % 3600) / 60                ;
        s = ad % 60                         ;
        printf("%02d:%02d:%02d",h,m,s)      ;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-18 15:43:02 | 显示全部楼层    本楼为最佳答案   
#include <stdio.h>
int main()
{
    int h,m,s,n,ad;
    scanf("%d:%d:%d",&h,&m,&s);
    scanf("%d",&n);
    ad=3600*h+60*m+s+n;/*这个是加了n之后一共有多少秒*/
    ad=ad%86400;/*超过了86400秒了就是转到了第二天,重新算*/
    h=(ad-ad%3600)/3600;/*完全可以写成ad/3600,求时*/
    ad=ad%3600;/*除去整时剩下的秒数*/
    m=(ad-ad%60)/60;/*完全可以写成ad/60,求分*/
    ad=ad%60;/*除去整分整时剩下的秒数*/
    s=ad;/*多余的 不够60的秒就是s*/
    printf("%02d:%02d:%02d",h,m,s);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-9 17:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表