c 语言一位数组找出最小数交换
时间: 2024-01-25 15:06:28 浏览: 33
可以使用选择排序的思想找到最小值的位置,然后将最小值和数组的第一个元素交换。
具体实现可以参考以下代码:
```c
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
void findAndSwap(int arr[], int size) {
int minIndex = 0;
for (int i = 1; i < size; i++) {
if (arr[i] < arr[minIndex]) {
minIndex = i;
}
}
swap(&arr[0], &arr[minIndex]);
}
```
其中`swap`函数是用来交换两个元素的值,`findAndSwap`函数是用来找到最小值并交换的函数。
相关问题
用c++做一个函数,对10个整数的数组找出最小数的下标并返回
好的,这是一个简单的实现:
```c
int findMinIndex(int arr[], int size) {
int minIndex = 0;
for (int i = 1; i < size; i++) {
if (arr[i] < arr[minIndex]) {
minIndex = i;
}
}
return minIndex;
}
```
你可以将整数数组和数组大小作为参数传递给这个函数,并返回最小值的下标。
c语言输入十个整数存入数组中,找出其中最小数和最大数
可以编写如下的代码来实现:
```c
#include <stdio.h>
int main() {
int arr[10];
int min = 0, max = 0;
// 输入十个整数
printf("请输入十个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
// 找出最小数和最大数
for (int i = 1; i < 10; i++) {
if (arr[i] < arr[min]) {
min = i;
}
if (arr[i] > arr[max]) {
max = i;
}
}
// 输出结果
printf("最小数为:%d,最大数为:%d\n", arr[min], arr[max]);
return 0;
}
```
上述代码中,首先定义了一个数组 `arr`,用于存储输入的十个整数。然后使用 `for` 循环输入这十个整数。接着,使用另一个 `for` 循环遍历数组,找出其中的最小值和最大值,分别保存在变量 `min` 和 `max` 中。最后,输出最小数和最大数即可。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)