使用文件指针在二维数组(C)中查找行和列的总和

时间:2019-03-12 19:01:48

标签: c

没有行/列信息,因为输入文件中有SIZE×SIZE个数字。 例如这就是输入文件中的内容:

1 5 8
6 10 2
9 2 16

代码从输入文件中读取数据。填充数组后,我需要计算并报告矩阵的按行和按列求和。为了 上面的示例输入文件,输出应类似于:

row sums: 14 18 27
column sums: 16 17 26

我是C编程新手。有人可以引导我吗?

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

#define SIZE 3
int main(void)
{
    int matrix[SIZE][SIZE];
    int sum=0;
    FILE *fp;
    fp=fopen("input.txt","r");
    if(fp=NULL)
    {
        printf("File could not read the file!");
        exit(0);
    }
    for(int r = 0; r < SIZE; ++r)
    {
        for(int c = 0; c < SIZE; ++c)
        {
            sum += matrix[r][c];
        }
        printf("Row sums: %d \n",sum); // printf("Sum for row %d = %d\n", r, sum);
        sum=0;
        printf("\n");
    }

    for(int r = 0; r < SIZE; ++r)
    {
        for(int c = 0; c < SIZE; ++c)
        {
            sum += matrix[c][r];
        }
        printf("Column sums: %d \n",sum);   //printf("Sum for column %d = %d\n", c, sum);
        sum=0;
        printf("\n");
    }
    return 0;
}

0 个答案:

没有答案