2019年ccf第一题,我在code blocks上可以运行,并且答案是对的,为什么在ccf上说我运行错误?本人菜鸟,希望有个大佬教我一下我哪里错了
int main()
{
int n,a[20]={0},x;
float maxn,midn,minn;
cin>>n;
for(int i=0;i {
cin>>a[i];//输入
}
maxn=minn=a[0];
for(int i=0;i<n;i++)
{
if(a[i]>maxn)
{
maxn=a[i];//最大值
}
}
for(int i=0;i<n;i++)
{
if(a[i]<minn)
{
minn=a[i];//最小值
}
}
//排序
sort(a,a+n);
if(n%2==0)
{
x=n/2;
midn=(a[x]+a[x-1])/2;
}
else if(n%2!=0)
{
x=n/2;
midn=a[x];
}
cout <<maxn<<" "<<midn<<" "<<minn<<endl;
return 0;
}
刚搞完,100
关键点:
cout<<setiosflags(ios::fixed)<<setprecision(precision)<<mid<<" ";
#include<iostream>
#include <iomanip>
using namespace std;
int main()
{
int n;
cin>>n;
int big;
int smal;
double mid;
int precision=0;
int *arr=new int[n];
for(int i=0;i<n;i++)
{
cin>>arr[i];
}
if(arr[0]<arr[n-1])
{
smal=arr[0];
big=arr[n-1];
}
else
{
smal=arr[n-1];
big=arr[0];
}
if((n&1)==0)
{
mid=(arr[n/2]+arr[n/2-1])/2.0;
if(mid-(int)mid != 0)
precision=1;
}
else
{
mid=arr[(n-1)/2];
}
cout<<big<<" ";
cout<<setiosflags(ios::fixed)<<setprecision(precision)<<mid<<" ";
cout<<smal<<" ";
return 0;
}
题目要求四舍五入保留一位小数