ある問題集からこんな問題が見つけた
以下の手順に従って実行し、実行例のように表示するプログラムを作成せよ。
1. 人数を#define で定義する。(ここでは、マクロ名をNUM、数値を10と定義する)
2. data_0.txt から、番号、身長(cm)と体重(kg)を読み込む。番号は整数型の1 次元配列
number[NUM]に、身長と体重は実数型の2 次元配列data[NUM][2]に代入する。すべてのデ
ータを読み込み終えたら、ファイルを閉じる。
3. 各人のBMI(肥満度)を計算し、その結果を別の実数型の1 次元配列bmi[NUM]に代入する。
BMI の計算式:
BMI = 体重(kg)/身長(m)/身長(m) ※単位に注意
4. 全員分の計算が終了後、番号、身長、体重、BMI を実行例のように画面表示する。
5. BMI が25 以上の人の番号を実行例のように画面表示する。
[ 実行例 ]
番号 身長 体重 BMI
0001 175.80 82.30 26.63
0002 160.30 57.50 22.38
0003 188.80 85.00 23.85
0004 155.50 59.00 24.40
0005 165.30 58.50 21.41
0006 166.60 60.00 21.62
0007 173.10 76.00 25.36
0008 177.70 80.00 25.33
0009 155.70 48.50 20.01
0010 169.30 77.60 27.07
BMI が25 以上の人は, 0001, 0007, 0008, 0010,
data_0は
1,175.8,82.3
2,160.3,57.5
3,188.8,85.0
4,155.5,59.0
5,165.3,58.5
6,166.6,60.0
7,173.1,76.0
8,177.7,80.0
9,155.7,48.5
10,169.3,77.6
このプログラミングを作りたいですけど、全然わからんので、助けて~~~~
Cの質問~~助けて
Re: Cの質問~~助けて
オフトピック
ここまで事細やかにやるべきことが列挙されているのですから
とりあえずできる項目からコード化していけば良いのでは?
全ての項目について
>全然わからん
というお手上げ状態なのであれば,
単にまだこの問題に挑戦できる時期ではない(習得過程的な意味で)ということでしょうから
たまたま見つけただけの問題に無理して執着せずとも
先にCの学習を進めるなり,その問題集の中でもっと簡単な問題から取り組んでいくなりすれば良いのではないでしょうか.
とりあえずできる項目からコード化していけば良いのでは?
全ての項目について
>全然わからん
というお手上げ状態なのであれば,
単にまだこの問題に挑戦できる時期ではない(習得過程的な意味で)ということでしょうから
たまたま見つけただけの問題に無理して執着せずとも
先にCの学習を進めるなり,その問題集の中でもっと簡単な問題から取り組んでいくなりすれば良いのではないでしょうか.
Re: Cの質問~~助けて
>ここまでできました
とのことですが,断片すぎて,大丈夫な箇所とそうでない箇所との区別ができません.
少なくとも C言語としての体裁くらいは整えましょうよ というか,
「ここが埋まれば動くんだけど」的な穴埋め問題的状態にまで仕上げることはできませんか?
例えば,
「{5,2,40}という3つの値の平均値を求めなさい」という問題があったとして,
平均値を求める部分がわからないのだとしても みたいな,わからない部分( Average = ???; )さえ解決すれば後は大丈夫 という状態,というか.
とのことですが,断片すぎて,大丈夫な箇所とそうでない箇所との区別ができません.
少なくとも C言語としての体裁くらいは整えましょうよ というか,
「ここが埋まれば動くんだけど」的な穴埋め問題的状態にまで仕上げることはできませんか?
例えば,
「{5,2,40}という3つの値の平均値を求めなさい」という問題があったとして,
平均値を求める部分がわからないのだとしても みたいな,わからない部分( Average = ???; )さえ解決すれば後は大丈夫 という状態,というか.
- Dixq (管理人)
- 管理人
- 記事: 1662
- 登録日時: 15年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: Cの質問~~助けて
usaoさんが仰る感じで少しずつやっていきましょう。
ファイルからデータを取ってくる所が鬼門かと思いますが、
printfがフォーマット指定した出力であるのに対して
fprintf
https://www.google.co.jp/webhp?sourceid ... 8#q=fscanf
がフォーマット指定した入力です。
これによってファイルからデータを取って来てみましょう。
いっぺんにやるのが難しければ、ファイルに
1
2
3
4
5
6
のように書いて、それを
int dat[6];
に格納するようなプログラムから始めてみて下さい。
ファイルからデータを取ってくる所が鬼門かと思いますが、
printfがフォーマット指定した出力であるのに対して
fprintf
https://www.google.co.jp/webhp?sourceid ... 8#q=fscanf
がフォーマット指定した入力です。
これによってファイルからデータを取って来てみましょう。
いっぺんにやるのが難しければ、ファイルに
1
2
3
4
5
6
のように書いて、それを
int dat[6];
に格納するようなプログラムから始めてみて下さい。