社区讨论

平均数不对求条

P1223排队接水参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mhj0yks1
此快照首次捕获于
2025/11/03 18:56
4 个月前
此快照最后确认于
2025/11/03 18:56
4 个月前
查看原帖
CPP
#include <bits/stdc++.h>

using namespace std;

struct n {
    int num;
    int k;
} a[1005];
int main() {
    int n;
    cin >> n;
    for (int i = 1; i <= n; i++) {
        cin >> a[i].k;
        a[i].num = i;
    }
    for (int i = 1; i < n; i++) {
        int f = i;
        for (int j = i + 1; j <= n; j++) {
            if (a[f].k > a[j].k)
                f = j;
        }
        swap(a[f], a[i]);
    }
    for (int i = n; i > 1; i--) {
        bool ok;
        for (int j = 1; j < i; j++) {
            if (a[j].k == a[j + 1].k && a[j].num > a[j + 1].num) {
                swap(a[j].num, a[j + 1].num);
                ok = false;
            }
        }
        if (ok == true)
            break;
    }

    int ans = 0, sum = 0;
    for (int i = 1; i <= n; i++) {
        cout << a[i].num << ' ';
    }
    for (int i = 2; i <= n; i++) {
        ans = ans + a[i - 1].k;
        sum += ans;
    }
    cout << endl;
    printf("%0.2lf", (sum + 0.0) / (n + 0.0));
    return 0;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...