用c语言编程 急死了 一个5行5列的二维数组中,找出这样的元素: 它所在的行的所有元素之和等于
用c语言编程急死了一个5行5列的二维数组中,找出这样的元素:它所在的行的所有元素之和等于该元素所在列的元素之和,把该元素的值和下标存放在另一个二维数组中(行号,列标,元素...
用c语言编程 急死了
一个5行5列的二维数组中,找出这样的元素:
它所在的行的所有元素之和等于该元素所在列的元素之和,
把该元素的值和下标存放在另一个二维数组中(行号,列标,元素值)。 展开
一个5行5列的二维数组中,找出这样的元素:
它所在的行的所有元素之和等于该元素所在列的元素之和,
把该元素的值和下标存放在另一个二维数组中(行号,列标,元素值)。 展开
1个回答
展开全部
C语言程序:
#include <stdio.h>
#define MAX 5
void main()
{
int arr[MAX][MAX] = {
{1,2,3,4,5},
{2,2,3,0,2},
{1,0,3,-1,0},
{5,2,1,4,1},
{2,2,3,4,1}};
int result[MAX][3];
int sum_row[MAX]; /* 计算一行的值 */
int sum_col[MAX]; /* 计算一列的值 */
int row, col, i, j;
int sum1, sum2;
int k = 0;
for(i=0; i<MAX; i++)
{
sum_row[i] = 0;
for(col=0; col<MAX; col++)
{
sum_row[i] += arr[i][col];
}
sum_col[i] = 0;
for(row=0; row<MAX; row++)
{
sum_col[i] += arr[row][i];
}
}
for(row=0; row<MAX; row++)
{
for(col=0; col<MAX; col++)
{
if(sum_row[row] == sum_col[col])
{
result[k][0] = row;
result[k][1] = col;
result[k][2] = arr[row][col];
k++;
}
}
}
/* 输出 */
for(i=0; i<k; i++)
{
printf("%d:(%d, %d, %d)\n", i+1, result[i][0], result[i][1], result[i][2]);
}
}
运行结果:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询