ここから本文です

解決済みの質問

学校でc言語の課題が出ました。何度考えてもうまくいきません。内容は「5つの数を...

viral_shimonさん

学校でc言語の課題が出ました。何度考えてもうまくいきません。内容は「5つの数を入力し、その中で、最大値、最小値、中心値を求めろ」という問題です。

#include<stdio.h>
int main(void){

からスタートで、分かる関数は、
for文とif文は勉強しました!

なんとか、forとifでプログラムを組めないでしょうか?
アドバイスください

違反報告

ベストアンサーに選ばれた回答

mahoo_nieeさん

このあたりは、
ソート(並べ替え)、順位付け、のアルゴリズムで基本ですので、
理解しておくべき事項です。
ソートのアルゴリズムになりますが、ここにはいろいろなやり方があります。
選択ソート、バブルソート、など。

課題の意図としたいはここからで、
ソート(並べ替え)すれば、最小、中心、最大は
小さい順に並べ替えした後の1番め、3番め、5番めと決まってきます。
そういうことかと思います。

何を何を比べていくのか、そこから整理してみてください。

値1つ目と2つ目を比べる、
次に値1つ目と3つ目を比べる、
次に値1つ目と4つ目を比べる、
・・
とすれば一応比較できて、どれが最大かはIF文で値を退避すればわかります。最小も。

言い換えれば
値1つ目と(それに+1したもの=2つめ)を比べる、
次は、値1つ目と(それに+2したもの=3つめ)を比べる、
次は、値1つ目と(それに+3したもの=4つめ)を比べる、
・・・
です。

総当りのリーグ戦などでどのチームとどのチームが戦いますか?、に近いです。
1-2、1-3、1-4、1-5、
2-1、2-3、2-4、2-5、
3-1、3-2、・・・・
です。
先攻チーム1-5の繰り返し、と後攻チーム1-5の繰り返し、
2重ループです。
5×5ありますが、同じチームはしない。(5つの数字で比較対象はほかの4つ)
そういうイメージから取り掛かってもいいと思います。

それか、
九九の表をイメージする。9×9の2重ループです。
1の段、2の段、・・・。何と何をかけた結果なのか。
ループが出来ると後は、必要に応じてIF文を入れる。

この質問・回答は役に立ちましたか?
役に立った!

お役立ち度:お役立ち度 0点(5点満点中)0人が役に立つと評価しています。

ベストアンサー以外の回答

(1件中1〜1件)

 

zypper_mooさん

中心値って中央値(5つの数の内の真ん中の値)でいいのかな?

普通にソートして、1個目と3個目と5個目の要素を表示すればいいのでは?

”C言語 ソート”でググればやり方は分かるはず。
(直近にソートを習ったのでは?)

入力の仕方は好きにしたらいいけど、エラー処理はちゃんとしよう。
(数ってなんだ?C言語には数の型が何個かあるよ)

あと、5個以外で入力が終わることもあるかもね。

じゃ、頑張ってください。

知恵ノートとは?

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。

お客様自身の責任と判断で、ご利用ください。

話題のキーワード

[カテゴリ:C言語関連]

ただいまの回答者

01時42分現在

2310
人が回答!!

1時間以内に4,183件の回答が寄せられています。

>>回答ひろばに行く


知恵コレに追加する

閉じる

知恵コレクションをするID/ニックネームを選択し、「追加する」ボタンを押してください。
※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する