C语言如何将二十四小时制转换为十二小时制
时间: 2024-11-27 11:21:55 浏览: 8
在C语言中,将二十四小时制转换为十二小时制需要考虑上午(AM)和下午(PM)的区分。下面是一个简单的示例,展示了如何通过条件判断来实现这种转换:
```c
#include <stdio.h>
// 函数定义,输入小时数,返回对应的十二小时格式字符串
char* convert_24_to_12(int hour) {
char* result;
if (hour == 0 || hour == 12) {
result = "12:00";
} else if (hour > 12) {
result = "12:"; // 如果超过12点,则直接显示12
hour -= 12; // 减去12得到下午小时数
} else {
result = "0" + itoa(hour); // 将小时转换为字符串,注意加前导零(如:09)
result[strlen(result)-1] = ':'; // 添加冒号
}
if (hour != 12) { // 检查是否为AM或PM
result += " PM"; // 如果不是12点,则添加PM
} else {
result[2] = 'A'; // 如果是12点,将其改为AM
}
return result;
}
int main() {
int hours;
printf("请输入24小时制时间(整数形式,范围0-23):");
scanf("%d", &hours);
char* time_12 = convert_24_to_12(hours);
printf("转换后的12小时制时间是:%s\n", time_12);
free(time_12); // 释放内存
return 0;
}
```
在这个例子中,`convert_24_to_12`函数接收一个整数小时作为输入,然后根据条件调整时间和添加AM/PM标识。
阅读全文