用c语言.输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。请编程实现。
时间: 2023-12-04 21:41:01 浏览: 179
以下是用C语言实现将最小数与第一个数对换,最大数与最后一个数对换的代码:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int nums[10];
// 输入10个整数
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &nums[i]);
}
// 找到最小数的下标
int minIndex = 0;
for (int i = 1; i < 10; i++) {
if (nums[i] < nums[minIndex]) {
minIndex = i;
}
}
// 找到最大数的下标
int maxIndex = 0;
for (int i = 1; i < 10; i++) {
if (nums[i] > nums[maxIndex]) {
maxIndex = i;
}
}
// 将最小数与第一个数对换
swap(&nums[0], &nums[minIndex]);
// 将最大数与最后一个数对换
swap(&nums[9], &nums[maxIndex]);
// 输出交换后的数组
printf("交换后的数组:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", nums[i]);
}
return 0;
}
```
首先,定义一个整型数组`nums`用于存储输入的10个整数。然后,使用`scanf`函数依次读取用户输入的整数,并存储在数组中。
接下来,通过遍历数组找到最小数的下标和最大数的下标。使用`swap`函数实现两个整数的对换,将最小数与第一个数对换,将最大数与最后一个数对换。
最后,使用`printf`函数输出交换后的数组。
阅读全文