第四次机考(2019)E. 教学质量评估
作者:互联网
#include<bits/stdc++.h>
using namespace std;
int main(){
int n; cin >> n;
int**a = new int*[n];//n有可能很大,创建动态指针数组
int m;
for (int i = 0; i < n; i++) {
cin >> m;
a[i] = new int[m + 2];//第一个位置存学生个数,最后一个位置存平均值
a[i][0] = m;//第一个位置存学生个数
for (int j = 1; j < m + 1; j++) cin >> a[i][j];
}
for (int i = 0; i < n; i++) {
a[i][a[i][0]+1] = 0;//平均值赋0
for (int j = 1; j < a[i][0] + 1; j++)
a[i][a[i][0] + 1] += a[i][j];
a[i][a[i][0] + 1] /= a[i][0];
}
int*hold;//冒泡排序,平均数从小到大排序,将平均数放到指针数组最后一位可直接交换数组顺序。
for (int pass = 1; pass < n; pass++)
for (int i = 0; i < n - pass; i++)
if (a[i][a[i][0] + 1] > a[i + 1][a[i + 1][0] + 1]) {
hold = a[i];
a[i] = a[i + 1];
a[i + 1] = hold;
}
for (int i = 0; i < n; i++) {
for (int j = 1; j < a[i][0]+1; j++)//输出第二个数字到倒数第二个数字
cout << a[i][j] << " ";
cout << endl;
}
return 0;
}
wtl_bupt
发布了103 篇原创文章 · 获赞 48 · 访问量 7607
私信
关注
标签:教学质量,int,cin,机考,++,2019,数组,pass,hold 来源: https://blog.csdn.net/weixin_44413191/article/details/89817318