1.把有10个整数元素的数组用冒泡排序法按由小到大升序排列; 2.二维数组:M个同学N门课成绩处理,字符数组存放姓名; 基本要求:能对数据进行排序的程序,能运用二维数组能熟练对学生成绩进行输入,查找,排序,输出等功能并提交程序。
时间: 2024-09-24 10:27:14 浏览: 80
交换法排序-零基础学C语言第八章PPT。
1. 使用冒泡排序算法对包含10个整数元素的数组按从小到大的顺序进行升序排列,你可以参考以下的C++代码示例:
```cpp
#include <iostream>
using namespace std;
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 交换元素
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int arr[10] = {5, 2, 9, 1, 5, 6, 3, 8, 4, 7};
int n = sizeof(arr) / sizeof(arr[0]);
cout << "Before sorting: ";
for (int i = 0; i < n; i++)
cout << arr[i] << " ";
bubbleSort(arr, n);
cout << "\nAfter sorting: ";
for (int i = 0; i < n; i++)
cout << arr[i] << " ";
return 0;
}
```
这段代码首先定义了一个整数数组,然后调用bubbleSort函数进行排序,最后输出排序前后的结果。
2. 对于二维数组表示学生的成绩,你可以创建一个结构体来存储姓名和成绩,再创建一个二维数组来存储所有的学生信息。这里给出一个基本的框架:
```cpp
#include <string>
using namespace std;
// 定义学生结构体
struct Student {
string name;
float scores[N]; // N门课程的成绩
};
Student students[M]; // M名学生,每名有N门课的成绩
void inputScores(Student* students, int M, int N) {
for (int i = 0; i < M; i++) {
cout << "Enter name for student " << i+1 << ": ";
cin >> students[i].name;
for (int j = 0; j < N; j++) {
cout << "Score for course " << j+1 << ": ";
cin >> students[i].scores[j];
}
}
}
// 添加其他函数如查找最高分、最低分等...
void printStudents(Student* students, int M, int N) {
for (int i = 0; i < M; i++) {
cout << "Name: " << students[i].name << ", Scores: ";
for (int j = 0; j < N; j++)
cout << students[i].scores[j] << " ";
cout << endl;
}
}
int main() {
int M, N;
cout << "Enter number of students and courses: ";
cin >> M >> N;
inputScores(students, M, N);
printStudents(students, M, N);
return 0;
}
```
这个例子展示了如何读取学生信息和成绩,并打印出来。你可以添加更多的功能,比如查找成绩最高和最低的学生等。
阅读全文