【发布时间】:2017-06-22 07:27:10
【问题描述】:
到目前为止我的代码:
#include<stdio.h>
int main() {
int a[5][5] = {
{-1, 2, 3, 4 },
{ 5, 3, -2, 1 },
{ 6, 7, 2, -3 },
{ 2, 9, 1, 4 },
{ 2, 1, -2, 0 }
};
int sum = 11;
int i, j;
for (i = 0; i < 5; i++) {
for (j = 0; j < 5; j++) {
if (a[i][j] + a[j][i] == sum && i != j) {
printf("%d %d\n", i, j);
}
}
}
}
我想找到给定总和的对,使得对的元素位于不同的行中。
【问题讨论】:
-
您应该告诉我们您的程序应该找到哪些元素。如果你打印所有的组合,你会看到没有总和是
11:ideone.com/hYa7ZI -
因为
c/c++是UB。 -
@SouravGhosh:是的,这是我最喜欢的; C/C++ 是 C 和 C++ 中的 UB。
-
@Ravi:如果您选择 C 或 C++,您将吸引更少的反对票。语言从 1999 年开始出现分化。