相当简单的模拟题。
思路就是每一行找一个最大的就行了,而且题目已经说明是3行3列的矩阵
#include<iostream>
#include<fstream>
using namespace std;
struct node
{
double W, T, L;
};
double matrix[4][4];
//ifstream fin("fin.txt");
//streambuf *old = cin.rdbuf(fin.rdbuf());
double MAX(double x, double y)
{
return x > y ? x : y;
}
int getmax(double t[])
{
double m = MAX(t[1], MAX(t[2], t[3]));
for (int i = 1; i <= 3; i++)
{
if (t[i] == m)
return i;
}
return -1;
}
void solve()
{
double temp;
int ans[4];
for (int i = 1; i <= 3; i++)
{
ans[i] = getmax(matrix[i]);
if (ans[i] == 1)
cout << "W ";
else if (ans[i] == 2)
cout << "T ";
else if (ans[i] == 3)
cout << "L ";
}
double result = (matrix[1][ans[1]] * matrix[2][ans[2]] * matrix[3][ans[3]] * 0.65 - 1) * 2;
printf("%.2f", result);
}
void input()
{
for (int i = 1; i <= 3; i++)
{
for (int j = 1; j <= 3; j++)
{
cin >> matrix[i][j];
}
}
solve();
}
int main()
{
input();
return 0;
}
本文详细解析了一个关于矩阵最大值的简单模拟题,通过定义结构体、实现矩阵操作及求解逻辑,展示了如何通过编程解决实际问题。
194

被折叠的 条评论
为什么被折叠?



