• 締切済み

整数を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つあるときのことを考えないとできませんか?

みんなの回答

  • yukigle
  • ベストアンサー率14% (9/63)
回答No.2

括り方が問題です。 基本は、きっちり「{」と「}」を揃え、どこからどこまでかを明確にしましょう。段落を置くことで、構造が見えてきますよ。

jlnh
質問者

お礼

ありがとうございます。式が間違っていなくて安心です。

  • buriburi3
  • ベストアンサー率44% (353/792)
回答No.1

カッコの対応が変。つーか間違ってる。 見やすくインデントを付け直せばすぐに間違いが見つけられると思う。 #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; }

jlnh
質問者

お礼

コンパイルができて、実行できないときは{}の不足が多いので注意したいと思います。