CSP2019年3月1题
这题不难 ,但是有些小地方是需要我们注意的,以及需要我们熟练掌握基础知识
当时 有些问题其实自己就纠结了一会,然后一些细节没有做好,导致代码比较繁杂,因此现在对之前有做了一定的修改
| 试题编号: | 201903-1 |
|---|---|
| 试题名称: | 小中大 |
| 时间限制: | 1.0s |
| 内存限制: | 512.0MB |
#include<bits/stdc++.h>using namespace std;intmain(){intn;intmax,min;doublemid;intarray[100100];cin>>n;for(inti=0;i<n;i++)cin>>array[i];if(array[0]>=array[n-1]){max=array[0];min=array[n-1];}else{max=array[n-1];min=array[0];}if(n%2==1){mid=array[n/2];cout<<max<<" "<<(int)mid<<" "<<min;}else{mid=(1.0/2)*(array[n/2]+array[n/2-1]);if(mid-(int)mid==0)//说明整除 要输出整数cout<<max<<" "<<(int)mid<<" "<<min;else//输出小数即可printf("%d %0.1f %d\n",max,mid,min);}return0;}注意
判断是否为奇数个
n%2==1当为偶数个时
取中位数,直接计算
mid=(1.0/2)*(array[n/2]+array[n/2-1]);然后判断是否为整除
输出最后结果时 忘记怎么用cout输出格式化小数 就用的是 printf
mid 类型为 double 当结果要求为整数时 强制转化 (int)double
万能头文件
#include<bits/stdc++.h>