//1、有个数组,找出第二大的数,并且打印出来(使用*操作数组元素个数,不要使用[])
// int a[] = {100,100,100,234,123,500,32,68,41,99,13,71};
#include<stdio.h>
#include<stdlib.h>
int *getsecnum(int *a,int n){
int *b=a;
int temp;
int i=0;
int j;
for(;i<11;i++)
{
for( j=0;j<11-i;j++)
{
if(*(a+j)<*(a+j+1))
{
temp=*(a+j+1);
*(a+j+1)=*(a+j);
*(a+j)=temp;
}
}
}
return b;
}
int main()
{
int a[12]={100,100,100,234,123,500,32,68,41,99,13,71};
int *k=getsecnum(a,12);
printf("%d",*(k+1));
return 0;
}
运行结果截图:
这里采用的是冒泡排序法进行排序。
需要循环套循环
第一层循环从0到小于数组长度减1
第二层循环从0到小于数组长度减1再减去第一层定义的变量i