/*
読み込んだ三つの整数値の最大値を求めて表示
*/
#include <stdio.h>
int main(void)
{
int n1, n2, n3, max;
puts("三つの整数を入力してください。");
printf("整数1:"); scanf("%d", &n1);
printf("整数2:"); scanf("%d", &n2);
printf("整数3:"); scanf("%d", &n3);
max = n1;
if (n2 > max) max = n2;
if (n3 > max) max = n3;
printf("最大値は%dです。\n", max);
return (0);
}
上記のソースコードを、条件演算子を用いた形にするという問題なのですが、初心者で理解しずらいところもありどうやっても同じ結果を出すことが出来ないため質問させていただきました。
ご教授お願いしますm(_)m
No.2
- 回答日時:
#1です。
問題のとおり、if文を条件演算子に変更しましょう。
max = n1;
max = n2 > max ? n2 : max;
max = n3 > max ? n3 : max;
どうしても、前の補足のように使用したいなら、
max = n1;
if (n2 > max)
printf("最大値は%dです。", (n2 > n3) ? n2 : n3);
else if (n3 > max)
printf("最大値は%dです。", n3);
return(0);
}
でどうでしょう?
条件演算子の使い方が間違っています。
条件 ? 式1 : 式2;
を
× (n2 > max) ? max = n2 : n1;
○ (n2 > max) ? n2 : n1;
にすれば、n2かn1が返ります。
式に代入したいときは、
max = n2 > max ? n2 : max;
の様にすると、n2か前のmaxの値が返ります。
No.1
- 回答日時:
同じ結果を出すことができなかったソースコードを補足してください。
この回答への補足
申し訳ありません。
条件演算子 a ? b : c
自分なりに解いてみたのですが解決しない状態です・・・
#include <stdio.h>
int main(void)
{
int n1, n2, n3, max;
puts("二つの整数を入力してください:");
printf("整数1:");scanf("%d", &n1);
printf("整数2:");scanf("%d", &n2);
printf("整数3:");scanf("%d", &n3);
max = n1;
if (n2 > n1)
printf("最大値は%dです。", (n2 > max) ? max = n2 : n1);
else if (n3 > n2)
printf("最大値は%dです。", (n3 > max) ? max = n3 : n2);
return(0);
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母 3 2022/07/19 17:09
- C言語・C++・C# C言語でif文が予想と違う動きをする件について7 4 2023/03/20 00:26
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
任意の数から人の数までの素数...
-
c言語で素数を判別するプログラ...
-
フォームを開くときに、コンボ...
-
エラーの意味は? Lvalue req...
-
C言語 exitの使い方
-
jsp~jspにhiddenを使って変数...
-
Excel-vba 文字列と変数を...
-
VBAでダブルコーテーション入り...
-
C言語で全角文字を扱いたいので...
-
Java認定試験3級の問題です。 ...
-
excelの、ある数式内の{}の意...
-
long型のランダムな値を返す方法
-
スピンボタンで小数点
-
COLUMN(1:1)の意味を教え...
-
計算プログラムにおける無限大...
-
GPIBの応答について
-
VBA 1行で複数の代入を行った...
-
EXCEL/VBA 変数の値をクリップ...
-
VB6.0-整数と余りを求める
-
VB6で配列を文字列に変換する方...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミングについての質問...
-
平均、最大値、最小値を表示す...
-
C言語初心者です。次の問題で質...
-
c言語 プログラミング 等比数列...
-
プレゼント交換プログラム
-
Cプログラムについて
-
if文を条件演算子に書き換えに...
-
C言語の問題 1 つの文字をキー...
-
エクセルのマクロでの積分
-
c言語でランタイムエラーの処理...
-
C言語 累乗の計算
-
任意の数から人の数までの素数...
-
c言語の文字列について質問です...
-
C言語 exitの使い方
-
エラーの意味は? Lvalue req...
-
VBAでダブルコーテーション入り...
-
フォームを開くときに、コンボ...
-
Excel-vba 文字列と変数を...
-
excelの、ある数式内の{}の意...
-
エクセルへのデータの貼付時に...
おすすめ情報