错了两个,对一半这不是难为我吗,帮帮忙,大佬

P5738 【深基7.例4】歌唱比赛

// double a[m``` #include <iostream> #include <iomanip> using namespace std; int main() { int m, n;//定义m名同学,n名评委 cin >> m >> n; int arr[100][20] = { 0 };//创建一个二维数组存放每次评委给选手打分 int sum[20] = { 0 };//创建一个一维数组存放选手总分 double max_aver = 0.00;//定义最高分数 //使用循环嵌套 for (int i = 0; i < m; i++) { double aver = 0.00; int min = 10;//初始化选手最低分为10分 int max = 0; //初始化选手最高分0分 for (int j = 0; j < n; j++) { cin >> arr[i][j];//输入裁判评分 //每次刷新最高最低分 if (arr[i][j] > max) { max = arr[i][j]; } if (arr[i][j] < min) { min = arr[i][j]; } sum[i] += arr[i][j];//依次获取评委评分 } aver = (sum[i] - max - min);//获取选手去除最高分最低分后的总分 aver /= (n - 2); //得到选手的平均分 if (aver > max_aver) { max_aver = aver; }//依次比较,获得场上最高分 } cout << fixed << setprecision(2) << max_aver<< endl;//保留两位小数输出最高平均分 return 0; } ``` ][n];m和n作为变量不能定义数组大小,这里是错的(可能版本不同,也说不一定);但是后面你的二维数组只罗列了第一行和第二行,没有罗列完,可能条件写错了 //后面附上我的代码: /* #include <iostream> #include <iomanip> using namespace std; int main() { int m, n;//定义m名同学,n名评委 cin >> m >> n; int arr[100][20] = { 0 };//创建一个二维数组存放每次评委给每位选手打分 int sum[20] = { 0 };//创建一个一维数组存放选手总分 double max_aver = 0.00;//定义最高分数 //使用循环嵌套 for (int i = 0; i < m; i++) { double aver = 0.00; int min = 10;//初始化选手最低分为10分 int max = 0; //初始化选手最高分0分 for (int j = 0; j < n; j++) { cin >> arr[i][j];//输入裁判评分 //每次刷新最高最低分 if (arr[i][j] > max) { max = arr[i][j]; } if (arr[i][j] < min) { min = arr[i][j]; } sum[i] += arr[i][j];//依次获取评委评分 } aver = (sum[i] - max - min);//获取选手去除最高分最低分后的总分 aver /= (n - 2); //得到选手的平均分 if (aver > max_aver) { max_aver = aver; }//依次比较,获得场上最高分 } cout << fixed << setprecision(2) << max_aver<< endl;//保留两位小数输出最高平均分 return 0; } */
by guyu04 @ 2023-01-04 01:57:51


|