Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Chương trình C chuyển đổi giờ từ định dạng 24h sang 12h

Mô tả bài toán

Viết chương trình C nhập giờ theo định dạng 24 giờ (0-23) và chuyển đổi sang định dạng 12 giờ (AM/PM).

Thuật toán

  1. Nhập giờ và phút theo định dạng 24h (ví dụ: 22:37)
  2. Kiểm tra điều kiện:
    • Nếu giờ = 0 → 12:MM AM (nửa đêm)
    • Nếu giờ < 12 → Giờ:MM AM (sáng)
    • Nếu giờ = 12 → 12:MM PM (trưa)
    • Nếu giờ > 12 → (Giờ-12):MM PM (chiều/tối)
  3. In kết quả theo định dạng 12h

Chương trình C

#include <stdio.h>

int main() {
    int gio, phut;
    
    printf("Nhap thoi gian (dinh dang 24h - HH:MM): ");
    scanf("%d:%d", &gio, &phut);
    
    printf("Dinh dang 12h: ");
    
    if (gio == 0) {
        // 00:MM -> 12:MM AM
        printf("12:%02d AM\n", phut);
    } else if (gio < 12) {
        // 01-11:MM -> Giờ:MM AM
        printf("%d:%02d AM\n", gio, phut);
    } else if (gio == 12) {
        // 12:MM -> 12:MM PM
        printf("%d:%02d PM\n", gio, phut);
    } else {
        // 13-23:MM -> (Giờ-12):MM PM
        printf("%d:%02d PM\n", gio % 12, phut);
    }
    
    return 0;
}

Kết quả chạy chương trình

Nhap thoi gian (dinh dang 24h - HH:MM): 22:37
Dinh dang 12h: 10:37 PM

Giải thích chi tiết

Giờ 24h Giờ 12h Giải thích
00:0012:00 AMNửa đêm
01:00 - 11:591:00 - 11:59 AMBuổi sáng
12:0012:00 PMTrưa
13:00 - 23:591:00 - 11:59 PMBuổi chiều/tối (trừ 12)

Lưu ý: Định dạng %02d đảm bảo phút luôn hiển thị 2 chữ số (ví dụ: 05 thay vì 5).