Máy tính điểm trung bình có trọng số

lập trình


Điểm trung bình có trọng số của tôi là bao nhiêu nếu tôi có điểm ở ba môn tương ứng là 67,54,98 với trọng số tương ứng là 32,12,45. tôi biết công thức =(67*32)+(54*12)+(98*45)/(32+12+45) nhưng tôi không biết nó hoạt động như thế nào nếu tôi sử dụng vòng lặp for.

Giải pháp 1

Giải pháp A,

bạn có thể sử dụng hai mảng. Một cho các số một cho các trọng số tương ứng.

C#
public double[] _number = new double[] {67,54,98};
public double[] _weights = new double[] {32,12,45};

then: 

double _wavg = 0;

for(int i = 0; i < _number.Count(); i++)
{
   _wavg += ((_number[i] * _weight[i]) / (_weights.Sum())

}

Giải pháp B,

Bạn có thể sử dụng một lớp được xác định trước để lưu trữ trọng số cuối của các số

C#
public class WeightedNumber
{
   public double Number {get; set; }
   public double Weight{get; set; }

}

List<wightednumber> _numbers;</wightednumber>

Phần còn lại trông ít nhiều giống nhau

Giải pháp 2

bạn có thể sử dụng điểm số, tức là {67, 54, 98} để đặt vòng lặp for giống như bên dưới

C#
var _average = 0;
for(int i = 0; i < scores.Count(); i++)
{
   _average += ((scores[i] * weights[i]))

}
_average = (_average/ (weights.Sum()) * 100;

Đọc các bài viết dưới đây để biết công thức thực sự hoạt động như thế nào và các cách tính toán khác nhau như thế nào:
bài báo, công thức quy định

コメント

タイトルとURLをコピーしました