给定如下定义: struct time_rec { int hours ; int mins ; int secs ; } ; struct time_rec current_time ; 写一个程序包含如下的函数,完成: (a) 输入current_time的值: void input_time(struct time_rec *current_time) (b) 将current_time增加1秒: void increment_time(struct time_rec *current_time) (c) 显示current_time的新值。 void output_time(struct time_rec *current_time) **输入格式要求:"%d%d%d" 提示信息:"请输入当前时间(时 分 秒):" **输出格式要求:"当前时间:%d时%d分%d秒!" 程序运行示例: 请输入当前时间(时 分 秒):12 23 56 当前时间:12时23分57秒!
#include <stdio.h>
#include <stdlib.h>
struct time_rec
{
int hours ;
int mins ;
int secs ;
};
struct time_rec time ;
void input_time(struct time_rec *current_time)
{
printf("请输入当前时间(时 分 秒):");
scanf("%d%d%d",¤t_time->hours,¤t_time->mins,¤t_time->secs);
}
void increment_time(struct time_rec *current_time)
{
if(current_time->secs == 59)
{
current_time->secs = 0;
if(current_time->mins==59)
{
current_time->mins = 0;
if(current_time->hours == 23)
current_time->hours = 0;
else
current_time->hours += 1;
}
else
current_time->mins += 1;
}
else
current_time->secs += 1;
}
void output_time(struct time_rec *current_time)
{
printf("当前时间:%d时%d分%d秒!",current_time->hours,current_time->mins,current_time->secs);
}
int main()
{
struct time_rec *current_time = &time;
input_time(current_time);
increment_time(current_time);
output_time(current_time);
return 0;
}
注意时间的进位问题!!!