用指针的方式求出10个元素的数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。
时间: 2024-05-02 22:22:39 浏览: 22
c代码-运用指针计算10个元素数组中最大值最小值并返回在数组中的位置
好的,让我来回答你的问题。首先,我们需要定义一个指向数组的指针,并用循环找出最大数和次最大数。接着,我们将最大数和a[0]中的数互换,将次最大数和a[1]中的数互换即可。下面是示例代码:
```
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int *ptr = arr;
int max = -1, second_max = -1;
for (int i = 0; i < 10; i++) {
if (*ptr > max) {
second_max = max;
max = *ptr;
} else if (*ptr > second_max) {
second_max = *ptr;
}
ptr++;
}
ptr = arr;
*ptr = max;
*(ptr + 1) = second_max;
ptr = &max;
max = *ptr;
*ptr = *(ptr + 1);
*(ptr + 1) = max;
```
请注意,这只是一种解决方案,你可以采用不同的方法来完成同样的任务。
阅读全文