この記事では、C言語を使って2つの時間を計算する方法について説明します。
初心者の方でもわかりやすく解説しているので、ぜひ参考にしてみてください。
目次から探す
2つの時間を計算する方法
プログラミングにおいて、2つの時間を計算する必要がある場合があります。
例えば、2つの時間の差分を計算したり、時間に加算や減算を行ったりすることがあります。
この記事では、C言語を使用して2つの時間を計算する方法について説明します。
時間の差分計算
まず、2つの時間の差分を計算する方法について説明します。
差分を計算するためには、2つの時間の差を求める必要があります。
以下のサンプルコードを参考にしてください。
#include <stdio.h>
int main() {
int hour1, minute1, second1; // 最初の時間
int hour2, minute2, second2; // 2番目の時間
// 最初の時間を入力
printf("最初の時間を入力してください(時 分 秒):");
scanf("%d %d %d", &hour1, &minute1, &second1);
// 2番目の時間を入力
printf("2番目の時間を入力してください(時 分 秒):");
scanf("%d %d %d", &hour2, &minute2, &second2);
// 時間の差分を計算
int diffHour = hour2 - hour1;
int diffMinute = minute2 - minute1;
int diffSecond = second2 - second1;
// 負の値の場合は補正する
if (diffSecond < 0) {
diffSecond += 60;
diffMinute--;
}
if (diffMinute < 0) {
diffMinute += 60;
diffHour--;
}
if (diffHour < 0) {
diffHour += 24;
}
// 結果を出力
printf("時間の差分は %d 時間 %d 分 %d 秒です。\n", diffHour, diffMinute, diffSecond);
return 0;
}
上記のコードでは、最初の時間と2番目の時間を入力し、それらの差分を計算しています。
差分が負の値の場合は補正を行い、最終的な差分を出力します。
時間の加算・減算
次に、時間に加算や減算を行う方法について説明します。
時間の加算や減算は、単純に時間の値を足したり引いたりするだけです。
以下のサンプルコードを参考にしてください。
#include <stdio.h>
int main() {
int hour, minute, second; // 時間
int addHour, addMinute, addSecond; // 加算する時間
// 時間を入力
printf("時間を入力してください(時 分 秒):");
scanf("%d %d %d", &hour, &minute, &second);
// 加算する時間を入力
printf("加算する時間を入力してください(時 分 秒):");
scanf("%d %d %d", &addHour, &addMinute, &addSecond);
// 時間の加算
hour += addHour;
minute += addMinute;
second += addSecond;
// 超過した値の補正
if (second >= 60) {
second -= 60;
minute++;
}
if (minute >= 60) {
minute -= 60;
hour++;
}
if (hour >= 24) {
hour -= 24;
}
// 結果を出力
printf("加算後の時間は %d 時間 %d 分 %d 秒です。\n", hour, minute, second);
return 0;
}
上記のコードでは、時間と加算する時間を入力し、それらを加算しています。
加算後に時間の値が60以上になる場合や24以上になる場合は、適切に補正を行っています。
最終的な加算後の時間を出力します。
以上が、C言語を使用して2つの時間を計算する方法についての説明です。
差分の計算や加算・減算の方法を理解し、自分のプログラムに応用してみてください。