做题时碰到的一个问题,百思不得其解。
AC代码
#include<cstdio>
int main() {
int n;
scanf("%d", &n);
long double a, sum = 0;
for (int i = 0;i < n;++i) {
scanf("%Lf", &a);
sum += a * (i + 1) * (n - i);
}
printf("%.2Lf", sum);
return 0;
}
错误代码
#include<cstdio>
int main() {
int n;
scanf("%d", &n);
long double a, sum = 0;
for (int i = 0;i < n;++i) {
scanf("%Lf", &a);
sum += (i + 1) * (n - i) * a;
}
printf("%.2Lf", sum);
return 0;
}
只是在sum加和的时候改变了a的位置,就导致正确的代码错了两个检查点,不知是为何。