非負の double の束を配列に読み込み、値の平均値と標準偏差を計算するプログラムを完成させています。次に、平均とスタンド偏差は、 B を取得することを表します。
次の部分で問題が発生しました。ここでは、 B を取得する数値の配列から最低スコアを見つけてから、 Bを取得しなかった配列内の最高値を見つける必要があります。私はこの部分で非常に問題を抱えているので、どんな助けも素晴らしいでしょう.
また、次の場合にプログラムを停止する必要がありますEOF
が入力されていますが、その部分もわかりません。そのため、それについての助けもいただければ幸いです。今のところ、代わりにすべての正の値で機能し、負の値が導入されたときに停止するようにしました。これが私のコードです:
#include <stdio.h>
#include <math.h>
int main () {
int arr[100];
int y, x;
int i;
double mean = 0;
double std = 0;
double this = 0;
i = 0;
printf("Enter next number, EOF to stop > ") ;
scanf("%d",&x);
while (x >= 0) {
arr[i++] = x;
printf ("Enter next number, EOF to stop > " );
scanf("%d",&x);
}
y = i;
double sum = 0;
double sum1= 0;
for(i = 0; i < y; i++){
sum = sum + arr[i];
}
mean = sum / y;
for (i = 0; i < y; i++){
sum1 = sum1 + pow((arr[i] - mean), 2);
}
std = sum1 / ((float)y - 1);
this = mean + sqrt(std);
if (10 > y) {
printf("**You must enter atleast 10 scores***\n");
return 0;
}
printf("Mean = %.2lf, Standard Deviation = %.2lf\n", mean, sqrt(std));
printf("Scores above %.2lf get a B\n", this);
return 0;
}