1 条题解
-
0
C :
#include<stdio.h> int main(){ int n,i,j,t,s=0; scanf("%d",&n); int a[n]; for(i=0;i<n;i++){ scanf("%d",&a[i]); s = s + a[i]; } for(i=0;i<n-1;i++){ for(j=0;j<n-1-i;j++){ if(a[j]>a[j+1]){ t = a[j]; a[j] = a[j+1]; a[j+1] = t; } } } int min = a[0],k=0; for(i=0;i<n;i++){ if(a[i]==min){ k++; } } printf("%.1lf",(s-k*min)*1.0/(n-k)); return 0; }C++ :
#include <iostream> #include <iomanip> using namespace std; int main(){ int a[1000]; int n,i,j,min,s = 0; cin>>n; for(i = 0;i < n;i++){ cin>>a[i]; s = s + a[i]; } min = a[0]; for(i = 0;i < n;i++){ if(a[i] < min){ min = a[i]; } } int x = 0; for(i = 0;i < n;i++){ if(a[i] == min){ x++; } } double v = (s - x * min) * 1.0 / (n - x); cout<<fixed<<setprecision(1)<<v<<endl; }Pascal :
var a:array[1..10000] of longint; b,i,min,x:longint; s:real; begin read(b); for i:=1 to b do read(a[i]); min:=1000000; for i:=1 to b do if a[i]<min then min:=a[i]; for i:=1 to b do if a[i]<>min then begin s:=s+a[i];x:=x+1;end; s:=s/(x); write(s:0:1); end.Java :
import java.util.Scanner; public class Main { public static void main(String[] args) { @SuppressWarnings("resource") Scanner sc=new Scanner(System.in); int a=sc.nextInt(); int[] s=new int[a]; for(int i=0;i<s.length;i++) { s[i]=sc.nextInt(); } int min=s[0]; for(int i=0;i<s.length;i++) { if(s[i]<min) { min=s[i]; } } int[] n=new int[s.length]; double d=0,p=0,c=0; for(int i=0;i<n.length;i++) { if(s[i]>min) { n[i]=s[i]; d+=n[i]; c++; p=d/c; } } System.out.printf("%.1f",p); } }Python :
n = int(input()) m = input().split() l = [] mi = 0 su = 0 c = 0 #列表类型转换 for v in m: l.append(int(v)) #求列表最小值 mi = min(l) #遍历l列表,把列表中等于最小值的元素去掉,得出余下的值的和 for i in range(0, n): if l[i] != mi: su += l[i] c += 1 print('%.1f' % (su / c))
- 1
信息
- ID
- 213
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 2
- 已通过
- 2
- 上传者