[C] 纯文本查看 复制代码#include
#include
int dierxiao(int *p,int n)//n为数组p里面元素的个数
{
int i;
int a[2];//创建一个容器,第一个位置放最小,第2个位置放第二小
a[0]=p[0]>p[1]?p[1]:p[0];
a[1]=p[0]
for (i=2;i
{
if (a[0]==a[1] && a[1]!=p[i])
{
a[a[0]
}
if (p[i]==a[0] || p[i]==a[1])
{
continue;//空语句,什么都不执行
}
else if (a[0]>p[i])
{
a[1]=a[0];
a[0]=p[i];
}
else if (a[1]>p[i])
{
a[1]=p[i];
}
}
return a[1];
}
int main()
{
int zongshu;//一共要测试几趟
int xiaozongshu;//每一趟有几个数
int i,j;//计数用
scanf("%d",&zongshu);
int *jieguo=(int *)malloc((sizeof(int))*zongshu);//保存每一趟的目标值
for (i=0;i
{
scanf("%d",&xiaozongshu);
int *a=(int *)malloc((sizeof(int))*xiaozongshu);
for (j=0;j
{
scanf("%d",&a[j]);
}
jieguo[i]=dierxiao(a,xiaozongshu); //jieguo[i]保存每趟的倒数第2小的值,由函数dierxiao( )得到
//printf("%d\n",dierxiao(a,xiaozongshu));
}
for (i=0;i
{
printf("%d\n",jieguo[i]);
}
return 0;
}