这一个是对于在一个数组当中,这个数组是给定的然后在其数组内查找两个数相加等于目标值的数,之后输出他们的数组下标;
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020040821325411.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1ODU5Mjcy,size_16,color_FFFFFF,t_70#pic_center)
1.首先从理解题目入手,从题目中可以看出给定的数组中有几个数,然后给出目标结果值;
2.根据给定的开头(c语言版)
int* twoSum(int* nums, int numsSize, int target, int* returnSize),
从这个题目中可以看出,nums和returnSize应该是数组的名字,而且要用到数组存放相加之后存于returnSize数组中
3.根据题目写出这个完整的函数
#include<stdio.h>
int* twoSum(int* nums, int numsSize, int target, int *returnSize) {
for (int i = 0; i < numsSize; i++) //两个for一个是循环遍历总的数组,另一个是returnSize存放结果的
for(int j = i+1; j < numsSize; j++)
{
if(nums[i] + nums[j] == target)
{
returnSize[0]= i;
returnSize[1]= j;
}
}
for (int k = 0; k < 2; k++)
printf("%d",returnSize[k]);
return 0;
}
int main()
{
int a[4] ={ 2,7,11,15 };
int c[2] ={0,0};
twoSum(a,4, 13, c);
}
这样经过多次这种题之后,在遇到给指针的时候遇见数组能更加的了解刚开始怎么做,之后怎么做,一步一步来