201903-1
95 分 代码 :
#include
usando el espacio de nombres std;
const int MAX = 100010;
int n;
int a [MAX];
int main ()
{ int max, min; doble medio cin >> n; para (int i = 0; i <n; i ++) cin >> a [i]; si (a [0]> a [n-1]) {max = a [0]; min = a [n-1]; } más si (a [0]
a [n-1])
max = min = mid = a [0];
else
{max = a [n-1];
min = a [0];
}
si (n% 21)
{ mid = a [n / 2]; cout << max << "“ << mid << ”“ << min << endl; } else { mid = (a [n / 2-1] + a [n / 2]) * 1.0 / 2; if ((mid- (int) mid) == 0) {// 整数cout << max << ”“ << (int) mid << ”“ << min << endl; } else { printf (”% d % .1f% d \ n ", max, mid, min); } } return 0; } 100 分 代码 (非 原创)#include #include #include using namespace std;
int a [100010];
int main () { int n, maxx, minn; cin >> n; para (int i = 0; i <n; i ++) { cin >> a [i]; } si (a [0]> a [n-1]) { maxx = a [0]; minn = a [n-1]; } más { maxx = a [n-1]; minn = a [0]; } si (n% 2
1) { int c = a [n / 2]; cout << maxx << "“ << c << ”" << minn; } else { int flag = 0; si ((a [n / 2] + a [n / 2-1])% 2
0)
bandera = 1;
float c=(a[n/2]+a[n/2-1])/2.0;
//c= round(c,1);
//cout<<"c="<<c<<endl;
if(flag)
cout<<maxx<<" "<<(a[n/2]+a[n/2-1])/2<<" "<<minn;
//这里如果是直接输出c的话会有问题,因为c是double型,然而flag判断出来的是整型
else
printf("%d %.1f %d",maxx,c,minn);
}
return 0;
}
201903-2
( Aprendiendo de no originales)
```cpp
#include<iostream>
using namespace std;
char a[10];
int b[10];
int main()
{
int n, k = 0;
cin >> n;
while (n--)
{
cin >> a;
int i;
for (i = 0; i < 7; i += 2)
{
b[i] = a[i] - '0';
}
for (i = 1; i < 7; i += 2)//扫乘除
{
if (a[i] == 'x')
{
b[i + 1] = b[i - 1] * b[i + 1];//B位置保存A*B
if (i == 1)//符号用上一个代替
a[i] = '+';
else
a[i] = a[i - 2];
b[i - 1] = 0;//A位置 置0
}
else if (a[i] == '/')
{
b[i + 1] = b[i - 1] / b[i + 1];
if (i == 1)
a[i] = '+';
else
a[i] = a[i - 2];
b[i - 1] = 0;
}
}
for (i = 1; i < 7; i += 2)//扫一遍加减
{
if (a[i] == '+')
b[0] += b[i + 1];
else if (a[i] == '-')
b[0] -= b[i + 1];
}
if (b[0] == 24)//判断答案
cout << "Yes" << endl;
else
cout << "No" << endl;
}
return 0;
}