2023-02-19 18:58 采纳率: 50%
浏览 15
已结题

求时间24制转12制的怎么改

编程实现 24 小时制转 12 小时制的功能,例如用户输入 “13:24”(中间是英文冒号)代表 24 小时制的 13 时 24 分,转换成 24 小时制就是“01:24 PM”(数字中间是英文冒号,PM 前面有一个 空格)代表下午 1 时 24 分。
注意,在英文的习惯中,中午 12 点被认为是下午,所以 24 小 时制的“12:00”就是 12 小时制的“12:00 PM”;而 0 点被认为是第 二天的时间,所以是“00:00

  • 写回答

3条回答 默认 最新

  • 不咕鸟会咕咕 2023-02-19 19:09
    关注

    下面是一个实现将 24 小时制时间转换为 12 小时制时间的 C 语言程序:

    #include <stdio.h>
    
    int main() {
        int hour, minute;
        char am_pm[3];
    
        // 读入 24 小时制时间
        printf("请输入 24 小时制时间(如 13:24):\n");
        scanf("%d:%d", &hour, &minute);
    
        // 转换为 12 小时制时间
        if (hour >= 12) {
            sprintf(am_pm, "PM");
            if (hour > 12) {
                hour -= 12;
            }
        } else {
            sprintf(am_pm, "AM");
            if (hour == 0) {
                hour = 12;
            }
        }
    
        // 输出 12 小时制时间
        printf("12 小时制时间为:%02d:%02d %s\n", hour, minute, am_pm);
    
        return 0;
    }
    

    这个程序中,我们首先定义了一个整型变量 hour 表示小时数,一个整型变量 minute 表示分钟数,以及一个字符型数组 am_pm 表示上午或下午。

    然后,我们使用 scanf 函数读入用户输入的 24 小时制时间,并使用 if 语句将其转换为 12 小时制时间。如果小时数大于等于 12,就表示下午,这时将 am_pm 赋值为 "PM",并将小时数减去 12;否则表示上午,这时将 am_pm 赋值为 "AM",并特判小时数为 0 的情况。

    最后,我们使用 printf 函数输出转换后的 12 小时制时间,其中 %02d 表示将小时数和分钟数输出为两位,不足的用前导零补齐。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月27日
  • 已采纳回答 2月19日
  • 创建了问题 2月19日

悬赏问题

  • ¥20 云卓h12pro 数传问题
  • ¥20 请问有人知道怎么用工艺库里面的sdb文件通过virtuoso导出来library里面每个cell的symbol吗?
  • ¥20 海思 nnie 编译 报错
  • ¥50 决策面并仿真,要求有仿真结果图
  • ¥15 springboot接入微信支付SDK
  • ¥50 大区域的遥感影像匹配 怎么做啊
  • ¥15 求解答:pytorch跑yolov8神经网络受挫
  • ¥20 Js代码报错问题不知道怎么解决
  • ¥15 gojs 点击按钮node的position位置进行改变,再次点击回到原来的位置
  • ¥20 halcon 图像拼接