• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語における複素数の四則演算について)

C言語で複素数の四則演算について

このQ&Aのポイント
  • C言語における複素数の四則演算について
  • 複素数の四則演算について、for文を用いて表示するプログラムについて、???の部分に何を入れたらよいかわからず、うまく実行することができません。
  • 和・差・積・商の計算種別を入れるみたいなのですが、何を入れたらいいのかわかりません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

まず、for文が何であるかをご理解いただく必要があると思います。 for文は【変数の初期値;実行条件;変数の増加量】と定義し、{ }の中身を実行 → 変数増加 → { }の中身を実行…という動作を実行条件が真である間繰り返し処理するためのものです。 たとえば、 /* printfを10回繰り返す処理 */ for( k = 0 ; k < 10 ; k++ ) { printf( "%d", k ); } という構文を言葉で表すと  #1.k の最初の値は 0 です。  #2.k が 10 未満であればカッコの中を実行して戻ってきなさい。  #3.カッコの中に入ったら k の値を printf で出力しなさい。  #4.戻ってきたら k に 1 を加えて #2 から処理を繰り返しなさい。 となり、printf の出力結果は順に 0、1、2、(中略)…9 となります。 ( k の値は最終的に 10 になりますが、上記の #2 の条件から外れてしまうため{ }の中へは入らずに繰り返し処理を終了します) このfor文の変数を応用するやり方は何かを順番で処理する場合によく使われます。 以上を踏まえれば ??? に何が入るべきかおわかりになると思うのですが、いかがでしょうか。

kokohama
質問者

お礼

計算種別がiであることに気づかなかったのですが、Wakkey-sanさんの回答で気づくことができ、プログラムが正常に起動しました。ありがとうございました。

その他の回答 (1)

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

C言語で四則演算を行うには、 #include <complex.h> double complex fukuso(double complex lhs, double complex rhs, int keisan) {  double complex result;  switch (keisan)  {  case 1:   result = lhs + rhs;   break;  case 2:   result = lhs - rhs;   break;  case 3:   result = lhs * rhs;   break;  default:   result = lhs / rhs;   break;  }  return result; } で十分な気がします。 なお、古い規格に基づいた処理系では上記のようにはできません。