You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言新手编写秒数转周/天/时/分/秒程序运行输出异常求助

代码问题点
  • 缺少头文件引入:调用printf、scanf函数需要引入<stdio.h>头文件,否则编译会触发警告。
  • 变量未初始化就参与运算:除了s通过scanf拿到了用户输入值,w、d、h、m四个变量均未初始化,直接用于计算读取的就是内存残留的随机值,也就是你看到的固定值70019的来源。
  • 单位换算顺序完全错误:当前你从最大单位周开始计算,但没有先将输入的秒数向上换算为更高阶的总单位值,逻辑完全倒置。正确逻辑应该从最小单位秒开始,逐层向上拆分,先算剩余秒,再依次算剩余分钟、剩余小时、剩余天,最后得到周数。
  • 输出参数全部错误:所有printf语句的输出变量都填了h,导致所有字段输出同一个值。
修正后可正常运行的代码
#include <stdio.h>
int main(void) {
    int w, d, h, m, s, input_s;
    printf("Please enter amount of seconds: " );
    scanf("%d",&input_s);

    // 逐层换算单位
    s = input_s % 60;
    int total_min = input_s / 60;
    m = total_min % 60;
    int total_hour = total_min / 60;
    h = total_hour % 24;
    int total_day = total_hour / 24;
    d = total_day % 7;
    w = total_day / 7;

    printf("\nWeeks: %d", w);
    printf("\nDays: %d", d);
    printf("\nHours: %d", h);
    printf("\nMinutes: %d", m);
    printf("\nSeconds: %d", s);
    
    return 0;
}
效果验证

输入:694861
输出:

Weeks: 1
Days: 1
Hours: 2
Minutes: 21
Seconds: 1

内容的提问来源于stack exchange,提问作者Jonas Schøn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 00:45:04