原创作品 转载请注明出http://blog.csdn.net/always2015/article/details/46875331
这一道题为简单的数学题目,在我的代码里用到了二维数组对时间进行存储。注意我在代码里定义了一个二维数组的指针,定义二维数组指针的格式可以参考http://blog.csdn.net/zhouxuguang236/article/details/12256321
其他都很简单,我就不多说,在代码中有部分注释,我的AC代码如下:
#include <iostream>
using namespace std;
struct example_time
{
int hour;
int minute;
int second;
};
int main(void)
{
int input_num;
int total_hour=0,total_minute=0,total_second=0;
example_time (*input_time)[2];//定义一个指向二维数组的指针
cin>>input_num;
input_time=new example_time[input_num][2];//指向一个二位数组
for(int i=0;i<input_num;i++)
{
for(int j=0;j<2;j++)
{
//输入时间时分秒,并各自累加
cin>>input_time[i][j].hour>>input_time[i][j].minute>>input_time[i][j].second;
total_hour+=input_time[i][j].hour;
total_minute+=input_time[i][j].minute;
total_second+=input_time[i][j].second;
}
//先从秒开始判断是否大于60
if(total_second>=60)
{
//大于60就向分进位
total_minute+=total_second/60;
total_second=total_second%60;
}
//判断分钟
if(total_minute>=60)
{
//向时进位
total_hour+=total_minute/60;
total_minute=total_minute%60;
}
//格式输出
cout <<total_hour<<" "<<total_minute<<" "<<total_second<< endl;
//重新初始化
total_hour=0;
total_minute=0;
total_second=0;
}
return 0;
}