[ad_1]
Đ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
[ad_2]
コメント