1.采用冒泡排序法实现10个数据的排序
#include "iostream"
using namespace std;
void bubble(int(&a)[10]) {
int temp;
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9 - i; j++) {
if (a[j] > a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
int main()
{
int a[10];
cout << "请输入10个整数: ";
for (int i = 0; i < 10; i++)
cin >> a[i];
bubble(a);
for (int i = 0; i < 10; i++)
cout << a[i] << " ";
cout << endl;
return 0;
}
2.分别定义一个4X3和3X2的矩阵A和B,实现矩阵A与B乘积
#include "iostream"
#include "iomanip"
using namespace std;
void product(double a[4][3],double b[3][2],double (&result)[4][2]) {
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 2; j++) {
for (int k = 0; k < 3; k++) {
result[i][j]+=a[i][k] * b[k][j];
}
}
}
}
int main()
{
double a[4][3], b[3][2], result[4][2];
cout << "请输入12个数作为3*4的矩阵:" << endl;
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 3; j++) {
cin >> a[i][j];
}
}
cout << "请输入6个数作为3*2的矩阵:" << endl;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++) {
cin >> b[i][j];
}
}
product(a, b, result);
cout<<"矩阵相乘的结果是:"<<endl;
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 2; j++) {
cout << setw(6) <<result[i][j] ;
}
cout << endl;
}
}
3.一个学习小组有6人,共有5门课程
(1) 求第一门课程的平均成绩
(2) 找出有一门课程以上不及格的学员,输出该学员所有成绩和平均成绩
(3) 找出5门都在90分的并平均分在95以上
#include "iostream"
#include "iomanip"
using namespace std;
class Student {
private:
int grade[5] ;
public:
void setGrade(int a[5]) {
for (int i = 0; i < 5; i++)
grade[i] = a[i];
}
int getCourseOneGrade() {
return grade[1];
}
void getGrade(int (&a)[5]) {
for (int i = 0; i < 5; i++)
a[i]=grade[i];
}
double averagScores() {
double sum = 0.0;
for (int i = 0; i < 5; i++)
sum+=grade[i];
return sum / 5;
}
bool isPass() {
for (int i = 0; i < 5; i++) {
if (grade[i] < 60)
return false;
}
return true;
}
bool isNB() {
for (int i = 0; i < 5; i++) {
if (grade[i] < 90)
return false;
}
return true;
}
};
int main()
{
//给每位同学登录成绩
Student student[6];
int grade[5];
for (int i = 0; i < 6; i++) {
cout << "请输入第" << (i + 1) << "位同学的5门课程成绩;" << endl;
for (int j = 0; j < 5; j++) {
cin >> grade[j];
}
student[i].setGrade(grade);
}
//求第一门课程的平均成绩
double aver=0.0;
for (int i = 0; i < 6; i++) {
aver += student[i].getCourseOneGrade();
}
cout << "第一门课程的平均成绩是:" << aver / 6 << endl;
//找出有一门课程不及格的同学 展示其成绩
for (int i = 0; i < 6; i++) {
if (!student[i].isPass()) {
cout << "同学" << i + 1 << "存在不及格的科目" << endl;
student[i].getGrade(grade);
for (int j = 0; j < 5; j++) {
cout << "其的第" << j + 1 << "个科目的成绩是:" << grade[j] << endl;
}
cout << "其平均成绩是:" << student[i].averagScores() << endl;
}
}
//找出都在90分的
for (int i = 0; i < 6; i++) {
if (student[i].isNB() && student[i].averagScores() > 95)
cout << "同学" << i + 1 << " 其5门科目都在90以上且平均成绩在95以上" << endl;
}
return 0;
}