CSP 202206-1 归一化处理
【摘要】 会调用几个数学函数即可,题目让做什么做什么就可以了,题目中 $a$ 数组虽然存的是整数但是定义为浮点数也没什么大不了的,可以省几步的强制转换,再一个就是误差不超过 $10^{-4}$ 就可以了,所以没必要输出小数点后那么多位,题干在最后也提示了,直接 `printf` 即可。
本题链接:CSP 202206-1 归一化处理
本博客给出本题截图:
C++
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
const int N = 1010;
double a[N]; // 直接定义为double类型不用进行后续的强制转换
int main()
{
int n;
double sum = 0;
cin >> n;
for (int i = 0; i < n; i ++ ) cin >> a[i], sum += a[i];
double ave = sum / n, d = 0;
for (int i = 0; i < n; i ++ ) d += pow(a[i] - ave, 2);
d /= n;
for (int i = 0; i < n; i ++ ) printf("%lf\n", (a[i] - ave) / sqrt(d));
return 0;
}
总结
会调用几个数学函数即可,题目让做什么做什么就可以了,题目中
数组虽然存的是整数但是定义为浮点数也没什么大不了的,可以省几步的强制转换,再一个就是误差不超过
就可以了,所以没必要输出小数点后那么多位,题干在最后也提示了,直接 printf
即可。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)