- 締切済み
整数を3つ読み込み、一番大きいものを表示するプログラム
3つが違う数であるとしてこうしたんですが、 #include<stdio.h> int main() {int a,b,c; scanf("%d",&a); scanf("%d",&b); scanf("%d",&c); if(a>b && a>c){ printf("%d\n",a);} if(b>a && b>c){ printf("%d\n",b); if(c>a && c>b){ printf("%d\n",c); }}return 0;} で、コンパイルはできたんですが、実行できません。3つの数値を入力してもその一番大きい数が出てきません。ifの条件は間違ってはいないと思うんですがやはり、最大が2つあるときのことを考えないとできませんか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- yukigle
- ベストアンサー率14% (9/63)
括り方が問題です。 基本は、きっちり「{」と「}」を揃え、どこからどこまでかを明確にしましょう。段落を置くことで、構造が見えてきますよ。
- buriburi3
- ベストアンサー率44% (353/792)
カッコの対応が変。つーか間違ってる。 見やすくインデントを付け直せばすぐに間違いが見つけられると思う。 #include<stdio.h> int main() { int a,b,c; scanf("%d",&a); scanf("%d",&b); scanf("%d",&c); if(a>b && a>c){ printf("%d\n",a); } if(b>a && b>c){ printf("%d\n",b); if(c>a && c>b){ printf("%d\n",c); } } return 0; }
お礼
コンパイルができて、実行できないときは{}の不足が多いので注意したいと思います。
お礼
ありがとうございます。式が間違っていなくて安心です。