/*
作者:
厦门理工学院
计算机与信息工程学院 FnLock
时间:2017年11月12日12:56:34
*/
#include <stdio.h>
//将输入格式的时间转化为秒以方便计算
int changeSecond(char arr[])
{
int second=0;
int i;
int part1=0;
int part2=0;
int part3=0;
part1=((arr[3]-48)*10+(arr[4]-48))*3600;
part2=((arr[6]-48)*10+(arr[7]-48))*60;
part3=((arr[9]-48)*10+(arr[10]-48))*1;
second=part1+part2+part3;
return second;
}
//确定转化后的时间是AM还是PM
char changeAB(char arr[],int second,int b)
{
char AP;
int backup=second-b;
char c=arr[0];
int control;
if(c=='A')
{
control=1;//1代表AM
}
else
{
control=-1;//-1代表PM
}
int i;
for(i=1;i<=b;i++)//每次经过12:00:00改变一次AM和PM
{
if((backup+i)%(12*3600)==0)
{
control=-control;
}
}
if(control==1) AP='A';
else AP='P';
return AP;
}
//将秒转化为相应的输出格式
void changeAmPm(char arr[],int second,int b)
{
int backup=second;
int hour=second/3600;
second-=hour*3600;
int minute=second/60;
second-=minute*60;
while(hour>12)
{
hour-=12;
}
printf("%cM %02d:%02d:%02d",changeAB(arr,backup,b),hour,minute,second);
}
int main(void)
{
char arr[20];//定义一个字符数组来存放输入的字符
gets(arr);
int b;
scanf("%d",&b);
int second;
second=changeSecond(arr)+b;//将输入的时间转换为秒再加上输入的b
changeAmPm(arr,second,b);//将 现在的秒数转化为相应的格式输出
return 0;
}
1332A+B
最新推荐文章于 2021-12-06 10:04:08 发布
本文介绍了一个简单的C语言程序,该程序能够将输入的时间格式(如HH:MM:SS AM/PM)转换为秒数,并根据给定的时间偏移量进行调整,最后输出调整后的时间,同时标明AM/PM。
919

被折叠的 条评论
为什么被折叠?



