為幫助大家能在6月18日的比賽中有一個更好的成績,我會将藍橋杯官網上的曆屆決賽題目的四類語言題解都發出來。希望能對大家的成績有所幫助。
今年的最大目标就是能為【一億技術人】創造更高的價值。
資源限制
C++
#include <bits/stdtr1c++.h>
using namespace std::tr1;
using namespace std;
int main()
{
int n;
cin >> n;
int sum = 0, tp;
int mx, mi;
mx = 0, mi = 100;
for (int i = 0; i < n; i++)
{
cin >> tp;
sum += tp;
mx = max(mx, tp);
mi = min(mi, tp);
}
unordered_map<int, int> ump;
printf("%d\n%d\n%.2f\n", mx + ump.size(), mi, 1.0 * sum / n + 1e-8);
return 0;
}
C
#include<stdio.h>
int main()
{
int i;
float p, max = -1, min = 1000;
float grades,av, sum = 0;
scanf("%f", &p);
for(i=0;i<p;i++)
{
scanf("%f", &grades);
if (grades < min)
min = grades;
if (grades > max)
max = grades;
sum += grades;
}
av = sum / p;
printf("%.0f\n%.0f\n%.2f", max, min,av);
return 0;
}
Java
import java.io.*;
import java.math.BigDecimal;
public class Main {
static class Input{
StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
public int nextInt() throws IOException{
in.nextToken();
return (int)in.nval;
}
}
public static void main(String args[]) throws Exception{
Input in = new Input();
int n = in.nextInt();
int sum = 0;
int max = 0;
int min = Integer.MAX_VALUE;
for(int i=0;i<n;i++) {
int s = in.nextInt();
if(s > max) {
max = s;
}
if(s < min) {
min = s;
}
sum +=s;
}
BigDecimal r = new BigDecimal(sum+"").divide(new BigDecimal(n+""), 2, BigDecimal.ROUND_HALF_UP);
System.out.println(max);
System.out.println(min);
System.out.println(r);
}
}
Python
n = int(input())
lists = []
sum1 = 0
for i in range(0, n):
lists.append(int(input()))
for i in range(0, len(lists)):
sum1 += lists[i]
print(max(lists))
print(min(lists))
print('%0.2f' % (sum1/len(lists)))