#include<stdio.h>
main()
{
int i, n,sum=0,score=0;
double mean, x[100];
printf("入力するデータ数は?:");
scanf_s("%d", &n);
for (i = 0; i < n; i++)
{
printf("%3d人目の得点を入力せよ:", i + 1);
scanf_s("%lf", &x[i]);
sum = sum + x[i];
}
mean = (double)sum / n;
printf("平均点は%.1lf点です。合格者は以下の通りです。\n",mean);
if (x[score] > 80)
{
printf("%d人目:%d点(平均点%.1lf),評価S", score, x[score - 1], x[score - 1] - mean);
}
else if (x[score] > 70)
{
printf("%d人目:%d点(平均点%.1lf),評価A", score, x[score - 1], x[score - 1] - mean);
}
else if (x[score] > 60)
{
printf("%d人目:%d点(平均点%.1lf),評価B", score, x[score - 1], x[score - 1] - mean);
}
else if (x[score] > 50)
{
printf("%d人目:%d点(平均点%.1lf),評価C", score, x[score - 1], x[score - 1] - mean);
}
1次元配列について
1次元配列について
Re: 1次元配列について
問題
最初に入力するデータ数(100以下)を読み込んで、その人数分の得点を整数値で読み込み、平均点を小数点以下第1位まで出力する。
さらに以下に示す合格基準および評価基準にもとづいて、合格者のみの得点、平均からの差、評価を出力するプログラムを作成せよ。
合格基準 50点以上
S:80〜 A:70〜 B:60〜 C:50〜
この問題で平均を求めるまではうまくいったのですが、評価の部分で扱う変数が本当にこれでいいのか理解できないです。初心者なので教えていただきたいです。
最初に入力するデータ数(100以下)を読み込んで、その人数分の得点を整数値で読み込み、平均点を小数点以下第1位まで出力する。
さらに以下に示す合格基準および評価基準にもとづいて、合格者のみの得点、平均からの差、評価を出力するプログラムを作成せよ。
合格基準 50点以上
S:80〜 A:70〜 B:60〜 C:50〜
この問題で平均を求めるまではうまくいったのですが、評価の部分で扱う変数が本当にこれでいいのか理解できないです。初心者なので教えていただきたいです。
Re: 1次元配列について
scoreは0なので、x[score - 1]は範囲外のx[-1]になり、これを読むのは未定義動作なのでダメです。
double型のxの要素をint型のデータを表示するための%dに対応する位置に渡すのも、未定義動作なのでダメです。
また、いい加減な名前を使うことはフォーラムルール違反です。
double型のxの要素をint型のデータを表示するための%dに対応する位置に渡すのも、未定義動作なのでダメです。
また、いい加減な名前を使うことはフォーラムルール違反です。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)