![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67b6d)
/*
読み込んだ三つの整数値の最大値を求めて表示
*/
#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
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_03.png?e8efa67b6d)
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の値が返ります。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_03.png?e8efa67b6d)
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c言語でランタイムエラーの処理...
-
C言語 exitの使い方
-
VBAでダブルコーテーション入り...
-
VB6.0-整数と余りを求める
-
COLUMN(1:1)の意味を教え...
-
フォームを開くときに、コンボ...
-
DWORDって
-
Excel-vba 文字列と変数を...
-
配列の値を置換するにはどうす...
-
stdpicture型の変数に、、
-
VB6で配列を文字列に変換する方...
-
エクセルへのデータの貼付時に...
-
Accessで文字列のバイト数読み込み
-
Accessコンボボックスにレコー...
-
VBAの定数の使い方で、計算値を...
-
エラーの意味は? Lvalue req...
-
[VBS]変数を定数に変換する方法...
-
エクセル、この関数の意味は?
-
数値を浮動小数点32bitHEXコー...
-
テキストボックスの値を変数に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
平均、最大値、最小値を表示す...
-
【for文】アスタリスクと$で図...
-
c言語 プログラミング 等比数列...
-
素数を判定するプログラム
-
C言語初心者です。次の問題で質...
-
プレゼント交換プログラム
-
Cプログラムについて
-
c言語でランタイムエラーの処理...
-
PICの条件分岐について
-
エクセルのマクロでの積分
-
C言語 exitの使い方
-
VBAでダブルコーテーション入り...
-
フォームを開くときに、コンボ...
-
Excel-vba 文字列と変数を...
-
VB6.0-整数と余りを求める
-
excelの、ある数式内の{}の意...
-
vbsでテキストファイル内の文字...
-
EXCEL/VBA 変数の値をクリップ...
-
エラーの意味は? Lvalue req...
-
VisualStudio2022でC言語プログ...
おすすめ情報