#include <stdio.h>
void print(int arr[],int n){
……(打印数组)
printf("\n");
}
void reverse(int arr[],int n){
int left = 0;
int right = n-1;
……(实现数组转置)
}
void sort(int arr[],int n){
int i =0,j=0;
int tmp=0;
……(实现冒泡排序过程)
}
int search(int arr[],int n,int key){ //key为要查找的元素
int index = -1;
……(具体查找过程实现)
return index; //(函数返回值)
}
int main()
{
int sz=0;
sz = ……(计算数组长度)
print(arr,sz);
……(调用转置函数reverse)
…… (调用打印函数print)
……(调用冒泡排序函数sort)
……(调用打印函数print)
printf("请输入一个数值: ");
……从键盘接收输入一个数值
……(调用查找函数search在数组中查找从键盘输入的值)
if( …判断条件… ){
printf("数组中无该元素\n");
}else{
…… 打印找到的数组下标
}
return 0;
}
#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;
}