「時刻差を求める」(2005/11/07 (月) 06:08:54) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
<dl>
<dt>177 :<font color="green"><b>デフォルトの名無しさん</b></font>
:2005/11/02(水) 13:16:38</dt>
<dd>[1] 授業単元:計算機概論<br>
[2] 問題文:<br>
h1時m1分s1秒からh2時m2分s2秒までは何時何分何秒になるかを計算するプログラムを作ってみましょう。<br>
最も簡単な方法は、全部を秒に換算して引き算し、その結果を時分秒に戻せばよいのですが、<br>
今回はif文の練習ですから<br>
s2からs1を引いてみる<br>
もし負になるならば60を加え、m2から1を引く<br>
m2からm1を引いてみる<br>
もし負になるならば60を加え、h2から1を引く<br>
といった手順で計算してみてください。<br>
<br>
また、始めの時間より終わりの時間のほうが早い場合はエラーメッセージを表示してください。<br>
<br>
[3] 環境<br>
[3.1] OS:Windows<br>
[3.2] コンパイラ(バージョン):わかりません<br>
[3.3] 言語:C<br>
[4] 期限:11/8まで<br>
[5]
その他の制限:「整数の計算と入出力」「実数の計算と出入力」だけ習いました。<br>
<br>
ほんと初歩の初歩で申しわけありません。ド文系なものでw一応2時間以上考えたんですけどうまくいかなくて・・・。
よろしくお願いします。<br>
<br>
<br></dd>
<dt>178 :<a href="mailto:sage"><b>デフォルトの名無しさん</b></a>
:2005/11/02(水) 13:36:39</dt>
<dd>int h1, m1, s1 ;<br>
int h2, m2, s2 ;<br>
int h3, m3, s3 ; // 結果格納用<br>
<br>
// 中略 適当にh1 m1 s1 h2 m2 s2 に設定する<br>
<br>
s3 = s2 - s1 ;<br>
if ( s3 < 0 ) {<br>
s3 += 60 ;<br>
--m2 ;<br>
}<br>
m3 = m2 - m1 ;<br>
if ( m3 < 0 ) {<br>
<br></dd>
<dt>179 :<a href="mailto:sage"><b>178</b></a>:2005/11/02(水) 13:39:04</dt>
<dd>すまん、途中で送信してもうた<br>
<br>
int h1, m1, s1 ;<br>
int h2, m2, s2 ;<br>
int h3, m3, s3 ; // 結果格納用<br>
<br>
// 中略 適当にh1 m1 s1 h2 m2 s2 に設定する<br>
<br>
s3 = s2 - s1 ;<br>
if ( s3 < 0 ) {<br>
s3 += 60 ;<br>
--m2 ;<br>
}<br>
m3 = m2 - m1 ;<br>
if ( m3 < 0 ) {<br>
m3 += 60 ;<br>
--h2 ;<br>
}<br>
h3 = h2 - h1 ;<br>
if ( h3 < 0 ) {<br>
printf( "エラー\n") ;<br>
}<br>
<br></dd>
<dt>180 :<a href="mailto:sage"><b>177</b></a>:2005/11/02(水) 13:45:57</dt>
<dd><a href="http://pc8.2ch.net/test/read.cgi/tech/1130431335/178-179" target=
"_blank">>>178-179</a><br>
ありがとうございます。<br>
<br>
一つ質問なんですが、h3=0のときも、m3<0だったりしたらエラーになると思うんですが、どうなんでしょうか?<br>
<br></dd>
<dt>181 :<a href="mailto:sage"><b>178</b></a>:2005/11/02(水) 13:49:47</dt>
<dd><a href="http://pc8.2ch.net/test/read.cgi/tech/1130431335/180" target=
"_blank">>>180</a><br>
なりません。<br>
m3<0の時はif(m3<0)の箇所でh2からあらかじめ1引いてるので。<br>
<br></dd>
<dt>182 :<font color="green"><b>デフォルトの名無しさん</b></font>
:2005/11/02(水) 13:56:39</dt>
<dd><a href="http://pc8.2ch.net/test/read.cgi/tech/1130431335/181" target=
"_blank">>>181</a><br>
なるほど。理解しました。ありがとうございます。</dd>
</dl>
表示オプション
横に並べて表示:
変化行の前後のみ表示: