输入n(n不大于100)个整数,找出其中最小数,将他与前面的数交换后输出这些数
时间: 2024-12-02 09:20:11 浏览: 5
要实现这个功能,你可以使用一个简单的循环来遍历数组,同时维护一个变量来存储当前找到的最小值。当遇到比当前最小值小的元素时,就更新最小值并记录下它的索引。遍历结束后,用最小值替换数组中的第一个元素(即原最小值的位置),然后输出整个数组。
以下是C语言的代码示例:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int n;
printf("Enter the number of integers (n <= 100): ");
scanf("%d", &n);
// 假设数组长度为n+1,因为我们还需要存储最小值
int arr[n + 1];
printf("Enter %d integers: ", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 初始化最小值为数组的第一个元素
int min_index = 0;
int minValue = arr[0];
// 遍历数组找最小值及其索引
for (int i = 1; i < n; i++) {
if (arr[i] < minValue) {
minValue = arr[i];
min_index = i;
}
}
// 将最小值与第一个元素交换
swap(&arr[min_index], &arr[0]);
// 输出修改后的数组
printf("Array after swapping: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
阅读全文