求个作业答案 求大神
已知7个数(2,3,1,5,0,6,4)放在一整型数组num[ ]中,请分别用函数实现下列功能,在主函数中调用这些函数。1、求7个数中的最大值及其所在序号。
2、求7个数的平均值。
3、依次输出这7个数。
4、将这7个数降序排列。
5、利用折半查找来查找某一数,要查找的数在主函数中输入。
/* 已知7个数(2,3,1,5,0,6,4)放在一整型数组num[ ]中,请分别用函数实现下列功能,在主函数中调用这些函数。 1、求7个数中的最大值及其所在序号。 2、求7个数的平均值。 3、依次输出这7个数。 4、将这7个数降序排列。 5、利用折半查找来查找某一数,要查找的数在主函数中输入 */ #include<stdio.h> int Sort(int a[],int n); int Find_Max(int a[],int n); int Aver(int a[],int n); int PRINT(int a[],int n); int Find(int a[],int x,int n); int Find_Max(int *a,int n) { int tmp=-100000; int cou; for(int i=0;i<n;i++) { if(*(a+i)>tmp) { tmp=*(a+i); cou=i+1; } } printf("最大值:%d,序号:%d\n",tmp,cou); } int Aver(int a[],int n) { float tmp=0; for(int i=0;i<n;i++)tmp+=*(a+i); printf("average:%.2f\n",tmp/n); } int PRINT(int a[],int n) { for(int i=0;i<n;i++) { printf("%d\t",*(a+i)); } printf("\n"); } int Sort(int a[],int n) { for(int i=1;i<n;i++) { int tmp=a[i]; int j=i-1; while(j>=0&&a[j]<tmp) { a[j+1]=a[j]; j=j-1; } a[j+1]=tmp; } } int Find(int a[],int x,int n) { int low=0,high=n-1,Mid; while(low<=high) { Mid=(low+high)/2; if(a[Mid]>x) high=Mid-1; else if(a[Mid]<x) low=Mid+1; else return Mid; } return -1; } int main() { int num[7]={2,3,1,5,0,6,4}; Find_Max(num,7); Aver(num,7); PRINT(num,7); Sort(num,7); PRINT(num,7); printf("3排在第%d位",Find(num,3,7)+1); return 0; }