在一个数组中,如何检查其内容编号中的任何两个是否可以加到某个值x?

可以使用什么命令来检查数组中任何两个数字的总和是否合计为x的某个值。

以下解决方案应该可以帮助您:

 int TestArray (int array[], int count, int targetSum) { int i,j; for (i=0; i 

此函数将数组作为参数,数组元素的数量(示例中为3)以及要检查的目标总和(在您的情况下为5)。

用法是这样的(示例主要):

 int main(int argc, char *argv[]) { int numbers1[] = {1,2,3,4}; int numbers2[] = {1,1,3,3}; int result; result = TestArray(numbers1, 4, 5); if (result == 1) { printf("True"); } else { printf("False"); } result = TestArray(numbers2, 4, 5); if (result == 1) { printf("True\n"); } else { printf("False"); } return 0; } 

输出是:

真正

根据你的例子

初学者练习..

 int arr[3] = {1,2,3}; //array has 3 numbers int i,j,x,k; int res = 0; scanf("%d",&x); for(i=0; i< size; i++){ j = i+1; if(j >= size){ j = 0; } k = arr[i] + arr[j]; if(k == x){ res = 1; break; } } if(res == 1) printf("True\n"); else printf("false\n"); 

这个怎么样:

 int i; int j; int x; int [size] TheArray; printf("Enter value of x: "); scanf("%d", &x); for(i = 0; i < size; i++) { for(j = 0; j < size; j++) { if(TheArray[j]+TheArray[i] == x) { printf("true"); break; } else printf("false"); } } 

您需要在代码中包含数组,他是您问题中的主要角色。