这是题目:
这个是我写的:
float fun(float a[],int n)
{
int i=0,j=0,t;
float z=0;
for(i=0;ifor(j=0;jif(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
if(n%2==1)
{
z=a[n/2]*1.0;
}
else
{
z=1.0*(a[n/2]+a[n/2-1])/2
}
return z;
}
请问我哪些地方写错了啊?谢谢
第23行最后少了分号,另外输入的是浮点型,你在交换时用的变量t定义的是整型,容易出错。都定义成float
数组是float类型,但你的交换变量t却定义为int类型,导致排序过程中,浮点数小数部分值丢失,所以结果就错误了
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!