#include<stdio.h>
int main()
{
int n,i,j,k,m;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(j=0;j<n;j++)
{
for(k=0;k<n-j-1;k++)
{
if(a[k]>a[k+1])
{
int c=a[k];
a[k]=a[k+1];
a[k+1]=c;
}
}
}
int sum=0;
for(m=1;m<(n-1);m++)
{
sum+=a[m];
printf("%d\n",a[m]);
}
double average=sum/(n-2);
printf("%lf",average);
return 0;
}
首先从语法来说,C语言从C99标准开始,这种定义方式是合法的,只是以前的标准不支持而已,而对于各种编译器来说,支持的语法特性有所区别,所以有些就可以运行,有些不可以
你的编译器支持。
int n=0;
scanf("%d",&n);
int* a=(int*)malloc(sizeof(int)*n);
这样相当于创建好了长度为n的整型数组a
记得包含头文件#include <stdlib.h>
好嘞,谢谢谢谢