实现print()函数打印数组中的每个元素。
实现reverse()函数完成对数组元素的逆置。
实现sort()函数完成对数组的冒泡排序(由小到大)。
实现search()函数实现查找有序数组中是否包含某个元素,如果包含打印出该数组元素下标,如果不包含,则打印“数组中无该元素”。
#include <stdio.h>
void print(int arr[], int n) {
int i;
for(i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
void reverse(int arr[], int n) {
int left = 0;
int right = n - 1;
int t;
for(; left < right; left++, right--) {
t = arr[left];
arr[left] = arr[right];
arr[right] = t;
}
}
void sort(int arr[], int n) {
int i = 0, j = 0;
int tmp = 0;
for(i = 0; i < n - 1; i++) {
for(j = 0; j < n - i - 1; j++) {
if(arr[j] > arr[j + 1]) {
tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
int search(int arr[], int n, int k) {
int i;
for(i = 0; i < n; i++) {
if(arr[i] == k) {
return i;
}
}
return -1;
}
int main() {
int sz = 0, k;
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
sz = sizeof(arr) / sizeof(arr[0]);
printf("原数组:\n");
print(arr, sz);
reverse(arr, sz);
printf("逆置后数组:\n");
print(arr, sz);
sort(arr, sz);
printf("排序后数组:\n");
print(arr, sz);
printf("输入你要查询的元素:\n");
scanf("%d", &k);
int p = search(arr, sz, k);
if(p==-1){
printf("数组中无该元素\n");
}else{
printf("%d",p);
}
return 0;
}
都很简单 自己实现