ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.4017729 C言語の問題
質問者:jmpt110 C言語の問題ができません。
誰か教えてください。
「複数の人の平均年齢を求めるプログラムを作成せよ。最後の人の年齢を入力した後には、負の数を入力するものと約束する。for構文を用いて各人の年齢の読み込みと加算を順次行ない、負の数が入力されたらこれを判定条件としてforループを抜け平均年齢を求めるプログラムにせよ。」
このような問題です。なるべく早くどなたか回答してもらえるととても助かります。
困り度:
  • すぐに回答を!
質問投稿日時:
08/05/12 22:06
この質問に対する回答は締め切られました。
最新から表示回答順に表示

回答

ANo.4 コンパイルエラーや出力メッセージ(平気年齢→平均年齢)の誤りは
修正していただくとして、最大の問題は、
負数の入力によって途中でループを抜けることがあるにもかかわらず、人数が常に num_per であるとみなして平均値を計算しているところにあります。
回答者:asuncion
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/05/12 23:36
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

ANo.3 がると申します。
うん特に丸投げでもないようなので。

ヒント。
人数を取得するところのscanfがおかしいです。引数をよ〜〜く見てみてください。
for文のところ。コンパイルエラーでますよね? よ〜く見てみてください。不等号式の左辺に足りないものはありませんか?
最後の結果のprintf、その変数であってますか?

ほか色々突っ込むところはありますが。とりあえず、上述の3つを修正すれば、最低限動くかと思います。

頑張ってください ^^
回答者:galluda
種類:回答
どんな人:専門家
自信:自信あり
回答日時:
08/05/12 23:18
この回答へのお礼丁寧な回答ありがとうございます。
このヒントを参考に頑張ってみます。^^b

回答

ANo.2 課題の丸投げは、禁止事項です。
問題ができないなら、もっと頑張るか諦めるかしてください。
回答者:okazaki0ko
種類:アドバイス
どんな人:一般人
自信:自信あり
回答日時:
08/05/12 22:33
この回答への補足丸投げしたのではないのですが・・・
説明不足ですいません

#include <stdio.h>
int main(void)
{
int age,sum=0,n,num_per;
double average;

printf("人数?");
scanf("%d",num_per);
for(n=1;<=num_per;n++){
printf("年齢?");
scanf("%d",&age);
if(age<0)
break;
sum+=age;}
average=(double)sum/(double)num_per;
printf("平気年齢 %7.2lf\n",age);
return 0;
}


このように作ったのですがうまくいきません。
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

ANo.1 こちら↓のANo.1と同じですが(汗

  ​http://okwave.jp/qa4017757.html

せめて、どこまで書けているか補足してください。

#一から全部書いてくれというわけじゃないのでしょう?添削であれば回答も付きますが・・
回答者:shimix
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:
08/05/12 22:32
この回答への補足#include <stdio.h>
int main(void)
{
int age,sum=0,n,num_per;
double average;

printf("人数?");
scanf("%d",num_per);
for(n=1;<=num_per;n++){
printf("年齢?");
scanf("%d",&age);
if(age<0)
break;
sum+=age;}
average=(double)sum/(double)num_per;
printf("平気年齢 %7.2lf\n",age);
return 0;
}
この回答へのお礼この回答にお礼をつける(質問者のみ)
最新から表示回答順に表示