
CSP 往期考试题练习
CCF CSP 归一化处理开始准备CSP考试了,记录一下,防止懒惰
题目描述 输入格式 输出格式 样例 方法和思路这道题,初看时,会发现是数学的方差标准差的知识。看到式子不要慌,只要数学上能理解这道题的步骤,基本就可以直接写。主要要求的过程中得有和、平均数、方差、标准差。如果不知道这些概念,建议百度搜索。
那么,这题就十分简单了。然后看输入输出要求,(1)如果是多组数据,可以选择结构体的方式(2)但这题每次的输入输出都是基于一组数据的,就可以简单粗暴地直接数组(注意n<1000)
同时,根据输入输出规则确定数据类型,就可以动手写了。
在写的过程中,可使用求平方、开平方函数。
此外,在最初写的过程,建议直接将样例写入函数,减少测试输入时间。
#include#include #include using namespace std; int main() { int n,arr[1001];//7 -4 293 0 -22 12 654 1000 double sum = 0; cin >> n; for (int i = 0; i < n; i++) { cin >> arr[i]; sum += arr[i]; } double avg = sum / n; double variance = 0; for (int i = 0; i < n; i++) { variance += (arr[i] - avg) * (arr[i] - avg); } variance = variance / n; double fa = 0; for (int i = 0; i < n; i++) { double a = arr[i] - avg; fa = a / sqrt(variance);//不用考虑variance是否小于等于0,方差的性质 printf("%fn", fa); } return 0; }