0
点赞
收藏
分享

微信扫一扫

2019-3 CCF 小中大(100分)

一枚路过的程序猿 2022-02-07 阅读 52
c++算法ccf

感想:

按理说这道题思路并不难,很容易写出来。但是我花了几乎一上午的时间改错。在格式上的错误太难找了。最后根据其他人的代码比对才发现,在判断中位数是否为整数上出了点问题。导致分数一直不是满分。

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
      int min,n,max;
      cin>>n;
      int a[n];
      double mid;
      int m=n/2;
      for(int i=0;i<n;i++)
      {
             cin>>a[i];
       }
      min=a[0];
      max=a[n-1];
      if(min>max)
      swap(max,min);
     if(n%2==0)
     mid=(a[m]+a[m-1])/2.0;
     else
     mid=a[m];
     cout<<max<<" ";
     if(mid-int(mid)==0)//判断mid是否为整数 
          cout<<fixed<<setprecision(0)<<mid;
     else
          cout<<fixed<<setprecision(1)<<mid;
     cout<<" "<<min<<endl;
     return 0;
}
举报

相关推荐

0 条评论