矩阵相加

要求:将两个文件中的矩阵相加,所得结果放入第三个文件。
程序如下:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    FILE *file1 = fopen("./test1.txt", "r+");
    if (NULL == file1)
    {
        perror("fopen1");
        return 1;
    }

    FILE *file2 = fopen("./text2.txt", "r+");
    if (NULL == file2)
    {
        perror("fopen2");
        return 2;
    }

    int m, n, i, j;
    printf("Please enter the nums:");
    scanf("%d %d", &m, &n);
    int a[m][n], b[m][n], c[m][n];

    printf("a juzhen\n");
    for (i = 0; i < m; i++)
    {
        for (j = 0; j < n; j++)
        {
            fscanf(stdin, "%d", &a[i][j]);
            printf("%4d", a[i][j]);
        }
        printf("\n");
    }
    printf("b juzhen\n");

    for (i = 0; i < m; i++)
    {
        for (j = 0; j < n; j++)
        {
            fscanf(stdin, "%d", &b[i][j]);
            printf("%4d", b[i][j]);
        }
        printf("\n");
    }
    fclose(file1);
    fclose(file2);

    FILE *file3 = fopen("./text3.txt", "w+");
    if (NULL == file3)
    {
        perror("fopen3");
        return 3;
    }

    for (i = 0; i < m; i++)
    {
        for (j = 0; j < n; j++)
        {
            c[i][j] = a[i][j] + b[i][j];
        }
    }

    printf("c juzhen\n");

    for (i = 0; i < m; i++)
    {
        for (j = 0; j < n; j++)
        {
            fprintf(stdin, "%4d", c[i][j]);
            printf("%4d", c[i][j]);
        }
        fprintf(file3, "\n");
        printf("\n");
    }
    fclose(file3);
}

运行结果如下:

Please enter the nums:2 3
a juzhen
2 4 6 8 10 12
   2   4   6
   8  10  12
b juzhen
1 3 5 7 9 11
   1   3   5
   7   9  11
c juzhen
   3   7  11
  15  19  23

PS:可通过输入行列数确定矩阵大小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值