C 在数组中,如何检查其任意两个内容编号的总和是否达到某个值x?

C 在数组中,如何检查其任意两个内容编号的总和是否达到某个值x?,c,arrays,C,Arrays,可以使用什么命令来检查数组中任意两个数字的总和是否等于某个x值。以下解决方案应该对您有所帮助: int TestArray (int array[], int count, int targetSum) { int i,j; for (i=0; i<count-1; i++) { for (j=i+1; j<count; j++) { if (array[i] + array[j] == targetS

可以使用什么命令来检查数组中任意两个数字的总和是否等于某个x值。

以下解决方案应该对您有所帮助:

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

    for (i=0; i<count-1; i++)
    {
        for (j=i+1; j<count; j++)
        {
            if (array[i] + array[j] == targetSum)
            {
                return 1;
            }
        }
    }

    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-arr[3]={1,2,3}//数组有3个数字
int i,j,x,k;
int res=0;
scanf(“%d”和&x);
对于(i=0;i=尺寸){
j=0;
}
k=arr[i]+arr[j];
如果(k==x){
res=1;
打破
}
}
如果(res==1)
printf(“True\n”);
其他的
printf(“假”);
这个怎么样:

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");
    }
}
inti;
int j;
int x;
整数[大小]数组;
printf(“输入x的值:”);
scanf(“%d”和&x);
对于(i=0;i

您需要在代码中包含数组,他是问题的主要参与者。

您的代码中没有任何数组。您可以编写
j=size
而不是
for(i=0;i
。有关您编写的代码问题的问题必须在问题本身中描述具体问题,并包括重现问题的有效代码。请参阅以获取指导。@user3015922,
y+z==x
?好的-这很容易修复-我已经更新了上面的代码,改为使用数组表示法通过。如果这是不允许的,只需将代码移到main<代码>整数[大小]数组?仅当目标和为奇数时才保证有效。如果目标是4,而数组是{2,0,0},那么代码在第一个循环中会达到true,因为它会向自身添加相同的索引值。
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");
    }
}