2012年7月17日火曜日

開発環境

『実践プログラミング 第3版』 (Steve Oualline (著)、 望月 康司 (監修) (翻訳)、 谷口 功 (翻訳)、 オライリー・ジャパン、1998年、ISBN978-4900900646) II部(単純なプログラミング)の12章(高度な型)12.9(プログラミング実習)実習12-2を解いてみる。

実習12-2.

コード(TextWrangler)

#include <stdio.h>

struct time{
  int hour;
  int minute;
  int day;
};
int p(struct time lhs,struct time rhs){
  struct time times[2] = {lhs,rhs};
  int ary[2];
  int i;
  for(i = 0; i < 2; i++){
    ary[i] = times[i].hour * 60 + times[i].minute;
  }
  if(ary[0] < ary[1]){
    return ary[1] - ary[0];
  } else if (ary[0] > ary[1]){
    return ary[0] - ary[1];
  } else {
    return 0;
  }
}
int main(){
  int i;
  struct time d1 = {
    11,
    22,
    5,
  };
  struct time d2 = {
    22,
    11,
    10,
  };
  struct time times[2]={d1,d2};
  for(i = 0; i < 2; i++){
    printf("%d時%d分\n",times[i].hour,times[i].minute);
  }
  printf("2つの時刻の違い: %d分\n",p(d1,d2));
  return(0);
}

入出力結果(Terminal)

$ cc -g -o sample sample.c
$ ./sample
11時22分
22時11分
2つの時刻の違い: 649分
$

0 コメント:

コメントを投稿