2 条题解

  • 0
    @ 2025-6-8 22:20:37

    #include<bits/stdc++.h> using namespace std; int a[110][110],b[110][110],c[110][110],m,n,k; double s; int main() { cin>>n>>m>>k; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) cin>>a[i][j]; for(int i=1;i<=m;i++) for(int j=1;j<=k;j++) cin>>b[i][j]; for(int i=1;i<=n;i++) for(int j=1;j<=k;j++) for(int l=1;l<=m;l++) c[i][j]+=a[i][l]*b[l][j]; for(int i=1;i<=n;i++){ for(int j=1;j<=k;j++) cout<<c[i][j]<<" "; cout<<endl; } return 0; }

    • 0
      @ 2025-1-25 13:47:39

      题目分析

      此题的新矩阵只需按题目中所说,再加一重循环来把新矩阵的点当作计数器计算,注意矩阵的换行。

      代码实现

      #include<bits/stdc++.h>
      using namespace std;
      int a[110][110],b[110][110],c[110][110],m,n,k;
      double s;
      int main()
      {
      	cin>>n>>m>>k;
      	for(int i=1;i<=n;i++)
      		for(int j=1;j<=m;j++)
      			cin>>a[i][j];
      	for(int i=1;i<=m;i++)
      		for(int j=1;j<=k;j++)
      			cin>>b[i][j];
      	for(int i=1;i<=n;i++)
      		for(int j=1;j<=k;j++)
      			for(int l=1;l<=m;l++)
      				c[i][j]+=a[i][l]*b[l][j];//将新矩阵的每一个点都看作计数器来计算
      	for(int i=1;i<=n;i++){
      		for(int j=1;j<=k;j++)
      			cout<<c[i][j]<<" ";
      		cout<<endl;//注意换行
      	}
      	return 0;
      }
      
      • 1

      信息

      ID
      116
      时间
      1000ms
      内存
      128MiB
      难度
      4
      标签
      (无)
      递交数
      28
      已通过
      18
      上传者