- 締切済み
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); }
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- ok-kaneto
- ベストアンサー率39% (1798/4531)
ちなみに >int max=0; 配列中の最大値が負の場合は最初の仮の最大値の0になってしまいます。 ※問題文が「自然数」ならよかったけど、「整数」なら負もあり なので、「配列の先頭の値」を最初の最大値にした方が良いです。 max = num[0]; としておき、forループのiの初期値を1にしてください。
- ok-kaneto
- ベストアンサー率39% (1798/4531)
手元のVisualStudioでは実行できました。 エラーメッセージやコンパイラを書くと回答しやすいかも。
お礼
ありがとうございます!何とか解決できましたm(_ _)m
- trytobe
- ベストアンサー率36% (3457/9591)
printf("%d,",max); の ”” の中のカンマをなくすか、 printf("%d¥,",max); のようにカンマの前にバックスラッシュ(円記号になることもあり)で、「関数の引数の区切りじゃないですよ!」と明示するか、 でしょうかね。
お礼
ありがとうございます!何とか解決できましたm(_ _)m
お礼
ありがとうございます!何とか解決できましたm(_ _)m