c语言题目求解答
c语言题目求解答编写两个子函数,其一是求数组中最大值的位置;其二是对主函数中的含有十个元素的数组按降序排序。在主函数中,先调用求最大值位置子函数,再调用降序子函数,并在主...
c语言题目求解答编写两个子函数,其一是求数组中最大值的位置; 其二是对主函数中的含有十个元素的数组按降序排序。在主函数中,先调用求最大值位置子函数,再调用降序子函数,并在主函数中输出降序后的数组及最大值位置。
展开
1个回答
展开全部
#define N 10
#include <stdio.h>
int Maxid(int a[],int n){ //找数组a的最大值所在位置
int max=0,i;
for(i=1;i<n;i++)
if(a[i]>a[max]) max=i;
return max;
}
int sort(int a[],int n){ //数组a降序排列
int i,j,tmp;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]<a[j]){
tmp=a[i];a[i]=a[j];a[j]=tmp;
}
}
void printit(int a[],int n){ //输出a数组
for(int i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
}
int main(){
int a[N]={
23,4,3,6,8,25,6,9,10,24
};
int maxid;
maxid=Maxid(a,N);
printf("排序前,a数组内容如下:\n");
printit(a,N);
printf("最大值的位置是第%d个数\n",maxid+1);
sort(a,N);
maxid=Maxid(a,N);
printf("排序后,a数组内容如下:\n");
printit(a,N);
printf("最大值的位置是第%d个数\n",maxid+1);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询