2012年6月13日水曜日

開発環境

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

実習8-2.

コード(TextWrangler)

#include <stdio.h>
double r;
int n;
char line[100];
int i;
double m,l;
int main(){
  printf("抵抗値の個数を入力: ");
  fgets(line,sizeof(line),stdin);
  sscanf(line,"%d",&n);
  int rs[n];
  printf("各抵抗値を入力\n");
  for(i = 0; i < n ; i++){
    fgets(line,sizeof(line),stdin);
    sscanf(line,"%d",&rs[i]);
  }
  m = 1.0;
  for(i = 0; i < n ; i++){
    m *= rs[i];
  }
  l = 0.0;
  for(i = 0; i < n; i++){
    l += m / rs[i];
  }
  r = m / l;
  printf("抵抗値: %lfΩ\n",r);
  return (0);
}

入出力結果(Terminal)

$ cc -g -o sample sample.c
$ ./sample
抵抗値の個数を入力: 1
各抵抗値を入力
400
抵抗値: 400.000000Ω
$ ./sample
抵抗値の個数を入力: 2
各抵抗値を入力
400
200
抵抗値: 133.333333Ω
$ ./sample
抵抗値の個数を入力: 3  
各抵抗値を入力
400
200
100
抵抗値: 57.142857Ω
$

0 コメント:

コメントを投稿