编制-一个函数,实现从n个整数中,找出两个相加之和最小的两个数。[要求]函数形参为指针,实现调用和运行输出。
时间: 2024-12-14 14:22:22 浏览: 33
在C语言中,你可以创建一个名为`findSmallestSumPair`的函数,它接收一个整数数组的指针以及数组的长度,然后通过遍历数组找到两个数,它们的和是最小的。下面是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义函数,形参为整数指针和长度
void findSmallestSumPair(int* nums, int n) {
if (nums == NULL || n < 2) {
printf("错误:无效的输入或数组元素不足。\n");
return;
}
int smallestSum = nums[0] + nums[1];
int minIndex1 = 0, minIndex2 = 1;
for (int i = 1; i < n - 1; ++i) {
int sum = nums[i] + nums[i+1];
if (sum < smallestSum) {
smallestSum = sum;
minIndex1 = i;
minIndex2 = i+1;
} else if (sum == smallestSum && nums[i] < nums[minIndex1]) {
minIndex2 = i;
}
}
printf("最小和为: %d\n", smallestSum);
printf("这两个数分别是: %d 和 %d\n", nums[minIndex1], nums[minIndex2]);
}
// 测试函数
int main() {
int numbers[] = {5, 3, 1, 7, 9};
int size = sizeof(numbers) / sizeof(numbers[0]);
findSmallestSumPair(numbers, size);
return 0;
}
```
当你运行这个程序,它会在给定的整数数组`numbers`中查找两个数,使得它们的和最小,并输出这两个数及它们的和。
阅读全文