// #include <stdio.h> // #include <stdlib.h> // int cmp(const void *a, const void *b){ // return *(int *)a - *(int *)b; // } // int main() { // //试卷数量 // int T; // scanf("%d", &T); // while (T--) { // //输入本试卷上数字的个数 // int n; // scanf("%d", &n); // //输入n个整数 // int num[n]; // double sum = 0; // for (int i = 0; i < n; i++){ // int a; // scanf("%d", &a); // num[i] = a; // sum += (double)num[i]; // } // qsort(num, n, sizeof(int), cmp); // int jicha = num[n - 1] - num[0]; // double pingjunshu = sum / n; // double fngchahe = 0; // for (int j = 0; j < n; j++){ // fngchahe += (((double)num[j] - pingjunshu) * ((double)num[j] - pingjunshu)); // } // double fangcha = fngchahe / n; // printf("%d %.3f\n", jicha, fangcha); // } // return 0; // } //更优化 #include <stdio.h> #include <stdlib.h> int cmp(const void *a, const void *b) { return *(int*)a - *(int*)b; } int main() { int T; scanf("%d", &T); while (T--) { int n; scanf("%d", &n); int nums[n]; double sum = 0; double sum_sq = 0; // 平方和 for (int i = 0; i < n; i++) { scanf("%d", &nums[i]); sum += nums[i]; sum_sq += (double)nums[i] * nums[i]; // 直接计算平方 } qsort(nums, n, sizeof(int), cmp); int jicha = nums[n-1] - nums[0]; double pingjun = sum / n; double fangcha = sum_sq / n - pingjun * pingjun; // 优化公式 printf("%d %.3f\n", jicha, fangcha); } return 0; }