问题描述


解题过程
测试用例都可以正确解答 ,但提交之后显示 运行错误只有80分 希望各位大哥给我找找错误。

详细代码
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int i,n;
scanf("%d",&n);
int a[n];
int max=0,min=0;
int midcount=0;
float mid=0;
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
if(a[0]<a[1]){
max=a[n-1];
min=a[0];
}else{
max=a[0];
min=a[n-1];
}
if(n%2==1){
midcount=a[n/2];
printf("%d %d %d",max,midcount,min);
}else{
mid=(a[n/2]+a[n/2-1])*0.5;
if(mid==(int)mid){
midcount=(int)mid;
printf("%d %d %d",max,midcount,min);
}else{
mid=(int)(mid*10+0.5)/10.0;
printf("%d %0.1f %d",max,mid,min);
}
}
return 0;
}
该博客主要介绍了如何使用C语言编写代码来解决找到数组中的最大值、中位数和最小值的问题。作者分享了详细的解题思路和代码实现,并在文中提到代码已通过部分测试用例,但在提交后出现运行错误,得分80分。代码中包含了对数组的遍历,以及根据数组长度判断中位数的计算方法。
 C语言代码(80分&spm=1001.2101.3001.5002&articleId=113481895&d=1&t=3&u=b8c9570ee69f465bb26f89d67f78dc60)
5984

被折叠的 条评论
为什么被折叠?



