相对于上一个作品, 这个难度系数减少, 我们只用构建结构函数, 然后输出加一秒后的时间就行了.
这里秒钟, 分钟, , 可以满六十进一, 消失满24,到凌晨零点.
下面讲解详细步骤:
第一步:
构造结构参数:
struct time {
int hour;
int minutes;
int seconds;
};
第二步:
构建数组输入符合格式的时间:
struct time testTimes[5] = {
{11,59,59},{12,3,34},{23,59,59}
};
第三步:
调用函数,进行时间更新
testTimes[i] = timeUpdate(testTimes[i]);
第四步:
把时间结构体参数输入进去, 然后进行更新, 先加一秒, 然后满六十 ,分钟进一, 分钟如果满六十, 小时进一, 小时满二十四, 清零
struct time timeUpdate(struct time now)
{
++now.seconds;
printf("%d\n",now.seconds);
if(now.seconds==60){
now.seconds = 0;
++now.minutes;
printf("第二次:%d\n",now.seconds);
printf("%d\n",now.minutes);
if(now.minutes == 60 ){
now.minutes = 0;
printf("%d\n",now.minutes);
++now.hour;
printf("%d\n",now.hour);
if(now.hour == 24){
now.hour = 0;
}
}
}
return now;}
记得返回现在的时间, 用于输出.
第五步:
结尾工作, 输出更新时间
int i;
for( i=0; i<1; ++i){
printf("Time is %.2i:%.2i:%.2i\n",testTimes[i].hour, testTimes[i].minutes,testTimes[i].seconds);
testTimes[i] = timeUpdate(testTimes[i]);
printf("过了一秒后的时间是: %.2i:%.2i:%.2i\n",testTimes[i].hour, testTimes[i].minutes,testTimes[i].seconds);
}
return 0;
源代码如下:
#include <stdio.h>
struct time {
int hour;
int minutes;
int seconds;
};
struct time timeUpdate(struct time now);
int main(void)
{
struct time testTimes[5] = {
{11,59,59}
};
int i;
for( i=0; i<1; ++i){
printf("Time is %.2i:%.2i:%.2i\n",testTimes[i].hour, testTimes[i].minutes,testTimes[i].seconds);
testTimes[i] = timeUpdate(testTimes[i]);
printf("过了一秒后的时间是: %.2i:%.2i:%.2i\n",testTimes[i].hour, testTimes[i].minutes,testTimes[i].seconds);
}
return 0;
}
struct time timeUpdate(struct time now)
{
++now.seconds;
if(now.seconds==60){
now.seconds = 0;
++now.minutes;
if(now.minutes == 60 ){
now.minutes = 0;
++now.hour;
if(now.hour == 24){
now.hour = 0;
}
}
}
return now;
}