csp 201903-1 小中大

//得分80
//只有一个数据的情况 中位数的输出忘记格式化 数据类型以及各种类型所表示的范围
#include<iostream>//有下划线不代表是错 using namespace std; int main(){ int n;//数组元素的数目 int mid; cin>>n; int* array=new int[n]; for(int i=1;i<n+1;i++){ cin>>array[i]; } if(n%2==0) mid=(array[n/2]+array[n/2+1])/2.0; else mid=array[n/2+1]; if(array[1]>array[n]) cout<<array[1]<<" "<<mid<<" "<<array[n]<<endl; else cout<<array[n]<<" "<<mid<<" "<<array[1]<<endl; }
//得分100
#include <iostream> #include <iomanip> #include <cstdio> using namespace std; int main() { int N; cin>>N; float *n=new float[N]; for(int i=0;i<N;i++)cin>>n[i]; long a,b; float m; if(N==1){a=b=n[0];m=n[0];}//只有一个数的情况 else{ if(N%2)m=n[(N+1)/2-1];else m=(n[N/2-1]+n[N/2])/2.0; if(n[0]<n[1]){a=n[0];b=n[N-1];} else {a=n[N-1];b=n[0];} } cout << b << " "; cout << setiosflags(ios::fixed) << setprecision(m-(int)m<0.01?0:1) << m << " " ;//输出的小数要格式化 cout << a << endl; return 0; }
//借鉴:https://blog.csdn.net/fontain/article/details/90728620
//得分100
#include<iostream> #include<iomanip> using namespace std; int main(){ int n;//数组元素的数目 float mid;//int long float 注意区分 cin>>n; long* array=new long[n+1];//array[0]不用的话,有n+1个数--------数的大小 小于十的七次方 for(int i=1;i<n+1;i++){ cin>>array[i]; } if(n==1) cout<<array[1]<<" "<<array[1]<<" "<<array[1]<<endl;//只输入一个数的时候 if(n%2==0) mid=(array[n/2]+array[n/2+1])/2.0; else mid=array[n/2+1]; if(array[1]>array[n]) { cout<<array[1]<<" "; cout<<setiosflags(ios::fixed)<< setprecision(mid-(int)mid<0.01?0:1)<<mid<<" "; //小于0.01的话,就是整数 ;否则是小数,保留一位,自动四舍五入 cout<<array[n]<<endl; } else { cout<<array[n]<<" "; cout<<setiosflags(ios::fixed)<<setprecision(mid-(int)mid<0.01?0:1)<<mid<<" "; cout<<array[1]<<endl; } return 0; }

猜你喜欢

转载自www.cnblogs.com/i-love/p/11285455.html
今日推荐