使用c语言编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的格式: Enter a 24-hour time:21:11 Equivalent 12-hour time:9:11PM
时间: 2024-11-03 10:15:10 浏览: 40
C语言将24小时制转换为12小时制的方法
在C语言中,可以创建一个简单的程序来转换24小时制时间成12小时制时间。这里是一个基本的示例,它使用`scanf()`获取用户输入,然后根据时间的前两位判断上午还是下午,并进行相应的转换:
```c
#include <stdio.h>
#include <stdlib.h> // 引入atoi函数,用于将字符串转为整数
void convertTo12Hour(int hour) {
if (hour >= 1 && hour <= 12) {
printf("%02d:00AM", hour);
} else if (hour > 12) {
printf("%02d:%02dPM", hour - 12, 0);
} else {
printf("%02d:00PM", 12); // 处理0点,即午夜12点
}
}
int main() {
char time[5];
int am_pm = 1; // 假设为AM,后处理PM情况
printf("Enter a 24-hour time: ");
fgets(time, sizeof(time), stdin); // 获取用户的输入,包括空格
time[strlen(time)-1] = '\0'; // 去掉换行符
int hour = atoi(&time[0]); // 提取小时部分
int minute = atoi(&time[3]); // 提取分钟部分
convertTo12Hour(hour);
if (time[2] == 'P') { // 检查是否为PM
am_pm = 0;
hour -= 12; // 如果是PM,则减去12小时
}
if (am_pm) {
printf(":00AM");
} else {
printf(":00PM");
}
printf("\nEquivalent 12-hour time: %02d:%02d", hour, minute);
return 0;
}
```
运行此程序时,输入如 "21:11",将输出 "9:11PM"。
阅读全文