如何用C语言实现一个24小时制的时间显示或转换功能的代码示例?
时间: 2024-11-09 20:28:49 浏览: 117
在C语言中,我们可以创建一个函数来实现从12小时制到24小时制的转换以及显示。以下是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 函数用于将12小时制时间转换为24小时制
void convertTo24Hour(char *input, char *output) {
int hour, minute;
sscanf(input, "%d:%[0-5]?\t", &hour, &minute); // 解析输入的12小时格式
if (hour >= 1 && hour <= 12) { // 如果小时是上午
strcpy(output, itoa(hour, NULL, 10)); // 转换并复制到结果字符串
strcat(output, ":");
strcat(output, itoa(minute, NULL, 10));
} else if (hour == 0) { // 处理中午12点的情况
strcpy(output, "12:");
strcat(output, itoa(minute, NULL, 10));
} else { // 将下午时间转换为24小时格式
hour -= 12; // 减去12得到实际的24小时数
strcpy(output, itoa(hour, NULL, 10));
strcat(output, ":");
strcat(output, itoa(minute, NULL, 10));
strcat(output, " PM"); // 添加PM标记
}
}
int main() {
char time12[6]; // 输入12小时制时间
char time24[9]; // 输出24小时制时间
printf("请输入12小时制时间(格式: HH:MM AM/PM): ");
fgets(time12, sizeof(time12), stdin);
convertTo24Hour(time12, time24);
printf("转换后的24小时制时间是: %s\n", time24);
return 0;
}
```
这个程序首先提示用户输入12小时制时间,然后调用`convertTo24Hour`函数进行转换,并输出结果。
阅读全文