C言語の問題なのですが、この四則演算を行うソースコードを教えてください。

1件の回答

回答を書く

1015995

2026-06-18 02:05

+ フォロー

Claude先生に聞いてみました。

なお、質問文や写真に「演算の種類」を指定する方法が記載されていなかったので、こちらで勝手に1:加算 2:減算 3:乗算 4:除算とさせていただきました。



-------------------------------------------------

#include \u0026lt;stdio.h\u0026gt;

#include \u0026lt;stdlib.h\u0026gt;



int main(int argc, char *argv[]) {

if (argc != 4) {

fprintf(stderr, \u0026quot;使用法: %s \u0026lt;演算の種類\u0026gt; \u0026lt;数字1\u0026gt; \u0026lt;数字2\u0026gt;\
\u0026quot;, argv[0]);

fprintf(stderr, \u0026quot;演算の種類: 1=加算, 2=減算, 3=乗算, 4=除算\
\u0026quot;);

return 1;

}



int op = atoi(argv[1]);

double a = atof(argv[2]);

double b = atof(argv[3]);



if (op \u0026lt; 1 || op \u0026gt; 4) {

fprintf(stderr, \u0026quot;エラー: 演算の種類は1〜4で指定してください。\
\u0026quot;);

return 1;

}



if (op == 4 \u0026amp;\u0026amp; b == 0.0) {

fprintf(stderr, \u0026quot;エラー: ゼロ除算はできません。\
\u0026quot;);

return 1;

}



double result;

const char *op_name;



switch (op) {

case 1: result = a + b; op_name = \u0026quot;加算\u0026quot;; break;

case 2: result = a - b; op_name = \u0026quot;減算\u0026quot;; break;

case 3: result = a * b; op_name = \u0026quot;乗算\u0026quot;; break;

case 4: result = a / b; op_name = \u0026quot;除算\u0026quot;; break;

}



printf(\u0026quot;%s: %g %c %g = %g\
\u0026quot;,

op_name, a,

(char[]){'+', '-', '*', '/'}[op - 1],

b, result);



return 0;

}

-------------------------------------------------



コンパイルしてませんが、たぶん大丈夫じゃないかと思います。

うったえる有益だ(0シェアするブックマークする

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有