C语言对整形数组排序并找出大于0最小值
时间: 2024-04-07 17:30:14 浏览: 70
可以使用以下代码对整型数组进行排序,并找出大于0的最小值:
```c
#include <stdio.h>
// 函数用于交换两个整数的值
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
// 函数用于对整型数组进行排序
void sortArray(int arr[], int size) {
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
swap(&arr[j], &arr[j + 1]);
}
}
}
}
// 函数用于查找大于0的最小值
int findMinPositive(int arr[], int size) {
for (int i = 0; i < size; i++) {
if (arr[i] > 0) {
return arr[i];
}
}
return -1; // 如果没有找到大于0的数,返回-1表示未找到
}
int main() {
int arr[] = {5, -3, 2, 0, -1, 4};
int size = sizeof(arr) / sizeof(arr[0]);
sortArray(arr, size);
int minPositive = findMinPositive(arr, size);
if (minPositive != -1) {
printf("大于0的最小值为: %d\n", minPositive);
} else {
printf("未找到大于0的数\n");
}
return 0;
}
```
运行以上代码,输出结果为:
```
大于0的最小值为: 2
```
这是一个简单的使用冒泡排序算法对整型数组进行排序,并找出大于0的最小值的示例。
阅读全文