平均点の計算、評価、並べ替え

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
maya

平均点の計算、評価、並べ替え

#1

投稿記事 by maya » 11年前

C言語を使ったプログラム作成について
試験の得点を入力し、それらの平均点に対して
20点以上で「優」
20点未満10点以上で「良」
10点未満平均点以上で「可」
平均点未満10点低い点より上で「不可」
それ以下で「判定不能」
と評価をした上で
成績のいい順に表示するプログラムを作成したいです。


こんなプログラムを
#include<stdio.h>
main()
で書き始め、普通の足し算引き算掛け算割り算といった簡単な計算のほか、
printf
scanf

if(  ){  }
else{  }

if(  ){  }
else if(  ){  }
else if(  ){  }
else{  }
などの条件判断

関係演算子や論理演算子

くりかえし
for(  ){  }
for(i=1;i<=10;i++)
i++
i--
i=i+○

while(  ){  }

 といった簡単な要素で作成するとどうなりますか?

 よろしくお願いします。

Rittai_3D
記事: 525
登録日時: 12年前

Re: 平均点の計算、評価、並べ替え

#2

投稿記事 by Rittai_3D » 11年前

これは課題でしょうか?それとも、どこかで見つけた問題を解いているのでしょうか?
課題の丸投げは禁止されています。自分でどこまでプログラムを書いたか、どこがわからないのかを詳しく書いてください。
また、コードを貼る場合はcodeタグを使用してください。

フォーラムルールhttp://dixq.net/board/board.htmlをお読みください。
初心者です

maya

Re: 平均点の計算、評価、並べ替え

#3

投稿記事 by maya » 11年前

プログラムの練習のため、簡単な問題に色々挑戦してます。
指定のものだけを利用してプログラムを組むという制限付きの問題をみつけたのですが、その指定のものが初心者の私でもできそうなものだったのでためしに解いてみようと思いました。
が、上手くできなかったので……。
最初の平均を出す所までは書けたのですが条件わけが難しくつまづいてしまいました。

Rittai_3D
記事: 525
登録日時: 12年前

Re: 平均点の計算、評価、並べ替え

#4

投稿記事 by Rittai_3D » 11年前

書けたところまででよいので書いたコードを貼ってください。
また、条件分けは

コード:

if( /* 入力された点数 */ ) {
/* 条件に当てはまる文字を表示する */
} else if( /*上の条件に当てはまらない点数*/ ) {
/* 条件に当てはまる文字を表示する */
} else { /* 上のどの条件にも当てはまらない点数 */
/* 条件に当てはまる文字を表示する */
}
で可能かと思います。また、if文の個数は適宜変更してください。
printfはコメントの表示で、scanfは点数の入力に使います。

詳しい仕様は知らないですが、一つだけ入力し、その点数が条件に当てはまる文字を表示するだけでしたらforもwhileも必要ないかと。
初心者です

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: 平均点の計算、評価、並べ替え

#5

投稿記事 by みけCAT » 11年前

「簡単な要素」の正確な定義を教えてください。
例えば、配列や構造体は「簡単な要素」に入りますか?
この問題の出典も示していただけると助かります。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

maya

Re: 平均点の計算、評価、並べ替え

#6

投稿記事 by maya » 11年前

自分で書いた途中までのはこれです
まだ最初の平均のところしか完成させられなかったですが……

コード:

#include<stdio.h>
main()
{int i,n;
float data[n],sum,ave,s,a,b,c,f;
printf("学生数=");
scanf("%d",&n);
for(i=1;i<=n;i++){
printf("得点=");
scanf("%d",&data[i]);
}
sum=0;
 for(i=1;i<=n;i++){
     sum=sum+data[i];
     printf("%f  n",sum);
     }
ave=sum/n;
s=ave+20>i
a=ave+20>i&&ave+10>=i
b=ave+10>i&&ave>i
c=ave-10>i
f=ave-10<i
printf("受験者数 %f\n",n); 
printf("平均点 %f\n",ave);
printf("成績基準 ¥n");
}
 
簡単な要素は最初な書き込んだ繰り返しなどの要素です。
問題は、自由に解いていい問題プリント(簡単なので解けることが前提なのか解答まではない)のものです。

アバター
usao
記事: 1889
登録日時: 12年前
連絡を取る:

Re: 平均点の計算、評価、並べ替え

#7

投稿記事 by usao » 11年前

あなたの言う
>簡単な要素
については,あなた自身が習得(?)できているのでしょうか?

とりあえず,一旦問題を簡単にして,例えば

平均点以上の場合は 可
平均点未満の場合は 不可

と判断するだけの問題などに取り組んでみてはいかがでしょうか?

アバター
usao
記事: 1889
登録日時: 12年前
連絡を取る:

Re: 平均点の計算、評価、並べ替え

#8

投稿記事 by usao » 11年前

…と思ったら,その前段階が必要かもですね.
まず最初のステップとして

・学生の人数 n ( 例えば, 1≦n≦10 とかいう前提を設けて )
・各学生の点数
を入力したら,平均点を出力する

というだけのものを,
実際に実行できる状態に仕上げることをしておいた方がいいかもしれません.
で,これができたら,

次のステップとして 先に書いた内容 :
各学生について,
>平均点以上の場合は 可
>平均点未満の場合は 不可
と判定した結果を出力する

を実現,
その後,判定内容を 本来の{優 良 可 不可 判定不能}の分類の形 に変更してみる.

最後に,
>成績のいい順に表示する
の部分に取り組む

…というようにステップを分けてやってみると良いかと思います.

閉鎖

“C言語何でも質問掲示板” へ戻る