C语言输入n(n<100)个数,找出最小的数,与最前面的数交换
时间: 2024-10-17 07:10:16 浏览: 35
C语言程序设计-输入一维数组的8个元素,并将最大值与最后一个数交换
5星 · 资源好评率100%
在C语言中,你可以通过循环遍历数组并跟踪当前找到的最小值来实现这个功能。以下是一个简单的示例程序:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int n, num[100];
printf("请输入数字的数量(小于100): ");
scanf("%d", &n);
// 输入n个数
for (int i = 0; i < n; i++) {
printf("请输入第 %d 个数: ", i+1);
scanf("%d", &num[i]);
}
// 初始化最小值为第一个元素,然后遍历数组找最小值
int min_index = 0;
for (int i = 1; i < n; i++) {
if (num[i] < num[min_index]) {
min_index = i;
}
}
// 如果找到的最小值不是第一个,就与第一个元素交换
if (min_index != 0) {
swap(&num[0], &num[min_index]);
}
// 输出修改后的数组
printf("最小的数与最前面的数交换后,数组变为:\n");
for (int i = 0; i < n; i++) {
printf("%d ", num[i]);
}
printf("\n");
return 0;
}
```
在这个程序中,`swap()` 函数用于临时存储两个数以便交换,`main()` 中首先获取用户输入的数值,接着遍历数组找到最小值的索引,最后判断是否需要交换,并实际执行交换操作。
阅读全文