如何使用C语言将用户通过键盘输入的24小时制时间(如'15:30')转换为12小时制时间(例如'03:30 PM'),然后输出转换后的时间?
时间: 2024-11-15 07:25:44 浏览: 59
在C语言中,你需要使用`scanf`函数获取用户的输入,然后手动解析和转换。下面是一个简单的示例代码片段:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义结构体储存时间信息
typedef struct {
int hours;
int minutes;
char am_pm[4];
} Time;
void convert24To12(Time *time) {
if (time->hours >= 12) {
time->hours -= 12;
strcpy(time->am_pm, "PM");
} else if (time->hours == 0) {
time->hours = 12; // 对于午夜12点,转换为12 PM
strcpy(time->am_pm, "AM");
} else {
strcpy(time->am_pm, "AM");
}
}
int main() {
Time time;
printf("请输入24小时制时间(格式: HH:MM): ");
scanf("%d:%d", &time.hours, &time.minutes);
// 转换并打印结果
convert24To12(&time);
printf("%02d:%02d %s\n", time.hours, time.minutes, time.am_pm); // 补零确保两位数
return 0;
}
```
在这个例子中,我们先创建了一个包含小时、分钟和 AM/PM 标识的结构体 `Time`。接着定义了 `convert24To12` 函数,用于实际的转换。最后在 `main` 函数中获取用户输入,转换并打印出结果。
运行此程序时,记得按提示输入像 "15:30" 这样的格式。
阅读全文
相关推荐


















