m0_62927409 2021-12-18 10:28 采纳率: 75.8%
浏览 30
已结题

请问函数里面怎么写循环啊

#include <stdio.h>
#define M 3
#define S 4
#define N 2

void multiply(int A[M][S], int B[S][N], int C[M][N])
{

}

int main()
{
int i, j;
int A[M][S], B[S][N], C[M][N];
printf("Please input A:\n");
for (i = 0; i < M; i ++)
for (j = 0; j < S; j ++)
scanf("%d", &A[i][j]);
printf("Please input B:\n");
for (i = 0; i < S; i ++)
for (j = 0; j < N; j ++)
scanf("%d", &B[i][j]);
multiply(A,B,C);
printf("C=\n");
for (i = 0; i < M; i ++){
for (j = 0; j < N; j ++)
printf("%d ", C[i][j]);
printf("\n");
}
return 0;
}

程序运行示例:
Please input A:
1 2 3 4
5 6 7 8
4 7 9 2
Please input B:
2 6
4 8
4 6
3 9
C=
34 76
86 192
78 152

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2021-12-18 12:50
    关注

    供参考:

    #include <stdio.h>
    #define M 3
    #define S 4
    #define N 2
    void multiply(int A[M][S], int B[S][N], int C[M][N])
    {
       int i, j, k;
        for(i=0;i<M;i++) //rowa
        {
            for (j=0;j<N;j++)//colb
            {
                for (k=0,C[i][j]=0;k<S;k++)//cola
                    C[i][j] += A[i][k] * B[k][j];
            }
        }
    }
    int main()
    {
       int i, j;
       int A[M][S], B[S][N], C[M][N];
       printf("Please input A:\n");
       for (i = 0; i < M; i ++)
            for (j = 0; j < S; j ++)
                 scanf("%d", &A[i][j]);
       printf("Please input B:\n");
       for (i = 0; i < S; i ++)
            for (j = 0; j < N; j ++)
                 scanf("%d", &B[i][j]);
       multiply(A,B,C);
       printf("C=\n");
       for (i = 0; i < M; i ++){
            for (j = 0; j < N; j ++)
                 printf("%d ", C[i][j]);
            printf("\n");
       }
       return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月21日
  • 已采纳回答 12月18日
  • 创建了问题 12月18日