用C语言写出这个题目的答案“给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标”。
时间: 2024-03-18 10:38:07 浏览: 94
题目要求在给定的整数数组中找出两个数,使它们的和等于目标值target,并返回它们的数组下标。
以下是用C语言实现该题目的答案:
```c
#include <stdio.h>
int* twoSum(int* nums, int numsSize, int target, int* returnSize) {
int i, j;
int* result = NULL;
// 遍历数组,找出两个数的和等于目标值
for (i = 0; i < numsSize - 1; i++) {
for (j = i + 1; j < numsSize; j++) {
if (nums[i] + nums[j] == target) {
// 分配内存保存结果
result = (int*)malloc(2 * sizeof(int));
result[0] = i;
result[1] = j;
*returnSize = 2;
return result;
}
}
}
// 如果没有找到符合条件的结果,则返回NULL
*returnSize = 0;
return NULL;
}
int main() {
int nums[] = {2, 7, 11, 15};
int target = 9;
int returnSize;
int* result = twoSum(nums, sizeof(nums) / sizeof(nums[0]), target, &returnSize);
if (result != NULL) {
printf("找到符合条件的结果:[%d, %d]\n", result[0], result[1]);
free(result); // 释放内存
} else {
printf("没有找到符合条件的结果。\n");
}
return 0;
}
```
阅读全文