C编程练习-函数、数组应用
实现一个函数,找出数组中的最大值
实现一个函数,对数组进行排序
实现一个函数,查找数组中是否存在某个值,如果存在返回该数值在数组中的下标
#include<stdio.h> #include<time.h> #include<stdlib.h>
//找最大值
find_max(int arr[],int len)
{ int max = arr[0]; for(int i=0; i<len; i++) { if(arr[i] > max) max = arr[i]; } return max; } void sort_arr(int arr[],int len) //排序 { for(int i=0; i<len-1; i++) { for(int j=i+1; j<len; j++) { if(arr[i] > arr[j]) { int temp = arr[i]; arr[i]=arr[j]; arr[j]=temp; } } } } int find_half(int arr[],int len,int num) //折半查找(前提:数组有序) { int l=0,r=len-1; while(l<=r) { if(arr[(l+r)/2] == num) return (l+r)/2; if(arr[(l+r)/2] > num) l=(l+r)/2+1; if(arr[(l+r)/2] < num) r=(l+r)/2-1; } return -1; } int main(int argc,const char* argv[]) { srand(time(NULL)); int arr[10]={}; for(int i=0; i<10; i++) { arr[i] = rand()%100; printf("%d ",arr[i]); } printf("\nMAX=%d\n",find_max(arr,10)); sort_arr(arr,10); for(int i=0; i<10; i++) { printf("%d ",arr[i]); } printf("\n"); printf("index=%d \n",find_half(arr,10,42)); }

浙公网安备 33010602011771号