2015年苏州大学复试机试
第一题
题目
有36块砖,现在有36个人,男人能搬4块,女人能搬3块,小孩子两人搬一块,求一次搬完这些砖要男人,女人,小孩多少人?
代码
#include <iostream>
using namespace std;int main() {for (int i = 0; i < 10; ++i) {for (int j = 0; j < 12; ++j) {for (int k = 0; k < 72; ++k) {if (i + j + k == 36 && (i * 4 + j * 3 + k / 2) == 36 && k % 2 == 0){cout << "需要男人:" << i << "人,需要女人:" << j << "人,需要孩子:" << k << "人" <<endl;}}}}return 0;
}
结果
第二题
题目
- 求一个3*4矩阵所有元素的平均值
- 把这12个元素从大到小排序
代码
#include <iostream>
using namespace std;
void Inpu_Function();
void Sequence();int Arr_A[4][3];
int Sum_element = 0;
int Arr[13];int main()
{//输入3*4矩阵A的元素,并输出平均值Inpu_Function();//排序Sequence();system("pause");return 0;
}void Inpu_Function()
{double Average_element = 0;cout << "请输入4*3矩阵A的元素:" << endl;//输入矩阵元素:for (int i = 0; i < 3; ++i) {for (int j = 0; j < 4; ++j) {cout << "请输入第 " << (i + 1) << " 行,第 " << (j + 1) << " 列的元素:";cin >> Arr_A[i][j];}}//输出矩阵cout << "输入的矩阵为:" << endl;for (int i = 0; i < 3; ++i) {for (int j = 0; j < 4; ++j) {cout << Arr_A[i][j] << " ";Sum_element += Arr_A[i][j];Arr[(i * 4 + j)] = Arr_A[i][j];}cout << endl;}//计算平均值Average_element = static_cast<double> (Sum_element) / 12;cout << "所有元素的平均值为:" << Average_element << endl;}void Sequence()
{// 冒泡排序for (int i = 0; i < 12 - 1; ++i) {for (int j = 0; j < 12 - i - 1; ++j) {if (Arr[j] < Arr[j + 1]) {// 交换元素int temp = Arr[j];Arr[j] = Arr[j + 1];Arr[j + 1] = temp;}}}// 输出排序后的数组cout << "排序后的数组为:" << endl;for (int i = 0; i < 12; ++i) {cout << Arr[i] << " ";}cout << endl;
}
结果
最后
此代码为个人编写,题目来自互联网,使用平台为Clion,C++17标准。
由于博主才疏学浅,如有错误请多多指正,如有更好解法请多多交流!