• 締切済み

C言語:配列の最大値

こんにちは。 プログラミングの講義の課題で、 1.100未満の整数20個からなる配列を作成する 2.for文を使って20個の整数の中で最大値を求める 3.その結果を出力する というC言語の課題が出されました。完成はしたのですが、何度実行してもビルドエラーが発生して正常に作動しません。どうすれば正常に作動しますか? #include <stdio.h> int main(void){ int i; int max=0; int num[20] = {4,83,71,90,7,33,62,51,98,21,18,20,75,49,69,14,80,22,8,50}; for( i=0 ; i < 20 ; i++ ) { if (num[i] > max) max = num[i]; } printf("%d,",max); return (0); }

みんなの回答

  • ok-kaneto
  • ベストアンサー率39% (1798/4531)
回答No.3

ちなみに >int max=0; 配列中の最大値が負の場合は最初の仮の最大値の0になってしまいます。 ※問題文が「自然数」ならよかったけど、「整数」なら負もあり なので、「配列の先頭の値」を最初の最大値にした方が良いです。 max = num[0]; としておき、forループのiの初期値を1にしてください。

gp22us88
質問者

お礼

ありがとうございます!何とか解決できましたm(_ _)m

  • ok-kaneto
  • ベストアンサー率39% (1798/4531)
回答No.2

手元のVisualStudioでは実行できました。 エラーメッセージやコンパイラを書くと回答しやすいかも。

gp22us88
質問者

お礼

ありがとうございます!何とか解決できましたm(_ _)m

  • trytobe
  • ベストアンサー率36% (3457/9591)
回答No.1

printf("%d,",max); の ”” の中のカンマをなくすか、 printf("%d¥,",max); のようにカンマの前にバックスラッシュ(円記号になることもあり)で、「関数の引数の区切りじゃないですよ!」と明示するか、 でしょうかね。

gp22us88
質問者

お礼

ありがとうございます!何とか解決できましたm(_ _)m

関連するQ&A