• 締切済み

プログラミングについて

目標 1.偏差値が一番良い学生の番号,科目A,B,C の得点,平均点,偏差値の表示. 2.合計点が181 点~210 点,211 点~240 点,241 点~270 点,271 点~300点 の学生の人数を数え,その度数分布の表示。 手順 1.クラスの標準偏差を求め,各学生の偏差値を求めよ. その結果を画面に出力する。 2.成績優秀者(偏差値が一番良い学生)を見つけよ. 一番が複数いる場合は全員表示せよ. 3.度数分布と2.ををResults.txt ファイルに出力せよ。 要素数4 のint 型配列を作成して0 で初期化し,一人ひとり数える. 最後に度数分布を作れ(度数分布を作る際にはif文を使わない). クラスのデータは与えられており、50人の2教科分の点数が与えられています。 これは構造配列を使い、Studentsに格納。もう1教科分の点数を整数の一様乱数により格納。 合計50人×3教科のテストデータの集計をするプログラムです。 というプログラミングを作りたいです。 途中まで作りましたが長くなりすぎてわからなくなりました。 どなたか教えてくださいお願いします。 #include <stdio.h> #include <stdlib.h> #include <math.h> #define SIZE 50 struct students{ int No; int A; int B; int C; int Sum; double Avee; double hensa; }; double Average(int a){ double b; b=(double)a/3.0; return b; } double Hensachi(double a,double b,double c){ double d; d=(double)50+10*(a-b)/c; return d; } int main(void){ struct students Std[SIZE]; srand(1000); int i; double Ave,Sum=0,H,stand; FILE *file=fopen("Data.txt","r"); for(i=0;i<SIZE;i++){ fscanf(file,"%d",&Std[i].No); fscanf(file,"%d",&Std[i].A); fscanf(file,"%d",&Std[i].B); Std[i].C=(int)(rand()/(RAND_MAX +1.0)*31)+70; Std[i].Sum=Std[i].A+Std[i].B+Std[i].C; Std[i].Avee=Average(Std[i].Sum); Sum+=Std[i].Avee; } fclose(file); Ave=(double)Sum/(SIZE); for(i=0;i<SIZE;i++){ H+=(double)pow(Std[i].Avee-Ave,2); } stand=sqrt(H/50); for(i=0;i<SIZE;i++){ Std[i].hensa=Hensachi(Std[i].Avee,Ave, stand); printf("%4d,%3.1lf,%3.1lf\n",Std[i].Sum,Std[i].Avee,Std[i].hensa); } return 0; } 自分が作ったのはここまででです。

みんなの回答

回答No.1

>自分が作ったのはここまででです。 ほう。あなたがやったのですか?それはそれは…。 自分が「コピー」したのはの間違いかと思いました。 なら3年前にも全く同じソースを考えた人がいるということですね。 すごい偶然ですね。 こちらのベストアンサーでもコピペして提出すればいいんじゃないですか? http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1417540299 専門学校に入校してコピペコピペで卒業ですか? 親も「なんて要領の良い子なんだ」と大喜びですね。

関連するQ&A

専門家に質問してみよう