社区讨论
关于double和long double的讨论
P3887[GDOI2014] 世界杯参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lo1npop5
- 此快照首次捕获于
- 2023/10/23 00:01 2 年前
- 此快照最后确认于
- 2023/11/03 00:44 2 年前
CPP
#include<iostream>
#include<algorithm>
using namespace std;
int a1[100000] = {};//守门员
int a2[100000] = {};//后卫
int a3[100000] = {};//中锋
int a4[100000] = {};//前锋
bool cmp(int a, int b) {
return a > b;
}
int main() {
int K, D, M, F;
cin >> K >> D >> M >> F;
for (int i = 0; i < K; i++)cin >> a1[i];
for (int i = 0; i < D; i++)cin >> a2[i];
for (int i = 0; i < M; i++)cin >> a3[i];
for (int i = 0; i < F; i++)cin >> a4[i];
sort(a1, a1 + K, cmp);
sort(a2, a2 + D, cmp);
sort(a3, a3 + M, cmp);
sort(a4, a4 + F, cmp);
int Q;
cin >> Q;
int i1 = 0, i2 = 0, i3 = 0, i4 = 0;
for (int i = 0; i < Q; i++) {
int A, B, C;
long long cnt=0;//long double是错的
cin >> A >> B >> C;
cnt += a1[i1++];
for (int j = 0; j < A; j++) cnt += a2[i2++];
for (int j = 0; j < B; j++) cnt += a3[i3++];
for (int j = 0; j < C; j++) cnt += a4[i4++];
printf("%.2lf\n", (double)cnt/11);
}
return 0;
}
代码是能过的代码,但是如果将cnt的类型改为long double,在输出的时候直接输出long double/11就是全红
回复
共 2 条回复,欢迎继续交流。
正在加载回复...