c语言随机输入10个数放入数组,最大数与第一个元素交换,最小数与最后一个元素交换,例如10,78,-89,90,100,-900,98,78,69,230的最简单代码展示
时间: 2023-11-02 11:10:18 浏览: 101
下面是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 10
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int arr[N];
int i, max_index = 0, min_index = 0;
srand(time(NULL)); // 用系统时间作为随机数生成器的种子
// 随机生成数组元素并输出
printf("原始数组:\n");
for (i = 0; i < N; i++) {
arr[i] = rand() % 1000 - 500;
printf("%d ", arr[i]);
}
// 找到最大值和最小值的下标
for (i = 1; i < N; i++) {
if (arr[i] > arr[max_index])
max_index = i;
if (arr[i] < arr[min_index])
min_index = i;
}
// 交换最大值和第一个元素
swap(&arr[0], &arr[max_index]);
// 交换最小值和最后一个元素
if (min_index == N-1)
min_index = max_index; // 如果最小值在最后一个元素,需要先更新max_index
swap(&arr[N-1], &arr[min_index]);
// 输出交换后的数组元素
printf("\n交换后的数组:\n");
for (i = 0; i < N; i++)
printf("%d ", arr[i]);
return 0;
}
```
输出结果:
```
原始数组:
-30 421 -49 474 -179 -392 -113 -419 413 300
交换后的数组:
474 421 -49 413 -179 -392 -113 -419 300 -30
```
阅读全文