这个程序的目的是在一个数组中找到两个数,它们的和等于给定的目标值(target),并返回这两个数的下标。下面是一个完成该任务的简洁代码示例:
#include <stdio.h>
int main() {
int nums[100]; // 假设数组的最大长度为100
int target, i = 0;
int x, y;
printf("请输入数组元素,以空格分隔,以回车结束:\n");
while (scanf("%d", &nums[i]) == 1) {
i++;
}
printf("target = ");
scanf("%d", &target);
// 找到两数之和等于 target 的下标
for (x = 0; x < i - 1; x++) {
for (y = x + 1; y < i; y++) {
if (nums[x] + nums[y] == target) {
printf("下标为: %d 和 %d\n", x, y);
return 0; // 找到后立即退出
}
}
}
printf("没有找到符合条件的数。\n");
return 0;
}
### 代码说明:
1. 使用数组 `nums` 存储用户输入的数。
2. 通过 `scanf` 读取用户输入,用户输入完数组后再按下回车。
3. 嵌套循环遍历数组,找到满足 `nums[x] + nums[y] == target` 的两个数。
4. 一旦找到符合条件的两个数,打印它们的下标并退出程序。
5. 如果找不到符合条件的数,输出提示信息。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |