1 条题解

  • 0
    @ 2025-10-10 15:45:27

    C :

    #include<stdio.h>
    int a[1000001];
    main() {
    	int j,i,n,m;
    	scanf("%d %d",&n,&m);
    	for(i = 0; i < n; i++) {
    		scanf("%d",&a[i]);
    	}
    	double avg = 0;
    	for(i = 0; i <= n - m; i++) {
    		//求m个小时的最大值
    		double s = 0;
    		for(j = i; j < i + m ; j++) {
    			s = s + a[j];
    		}
    		s = s / m;
    
    		if(s > avg) {
    			avg = s;
    		}
    
    	}
    
    	printf("%.2f",avg);
    }
    

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    int a[110];
    int main(){
    	int n,m;
    	cin>>n>>m;
    	for(int i=0;i<n;i++)
    	{
    		cin>>a[i];
    	}
    	float max=0;
    	int s;
    	for(int i=0;i<n-m+1;i++)
    	{
    		s=0;
    		for(int j=i;j<m+i;j++)
    		{
    			s+=a[j];
    		}
    		if(s>max)
    		{
    			max=s;
    		}
    	}
    	cout<<fixed<<setprecision(2)<<max/m<<endl;
    	return 0;
    }
    

    Pascal :

    var m,n,max,num,i:longint;
        sum:array[0..1000000] of longint;
    begin
     read(n,m);
    
     for i:=1 to n do begin
      read(num);
      sum[i]:=sum[i-1]+num;
     end;
    
     for i:=m to n do if sum[i]-sum[i-m]>max then max:=sum[i]-sum[i-m];
    
     writeln(max/m:0:2);
    end.
    

    Java :

    import java.text.DecimalFormat;
    import java.util.Scanner;
    public class Main{
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner scanner =new Scanner(System.in);
    		String str=scanner.nextLine();
    		String[] array=str.split(" ");
    		int N=Integer.valueOf(array[0]);
    		int M=Integer.valueOf(array[1]);
    		String speedStr=scanner.nextLine();
    		String[] speedarray=speedStr.split(" ");
    		int sumMax=0;
    		for(int i=0;i<(N-M+1);i++){
    			int sum=0;
    			for(int j=0;j<M;j++){
    				sum=sum+Integer.valueOf(speedarray[j+i]);
    			}
    			if(sum>=sumMax){
    				sumMax=sum;
    			}
    		}
    		float avg=(float)sumMax/M;
    		DecimalFormat df = new DecimalFormat("#.00");
    		 System.out.println(df.format(avg));
    	}
    }
    
    

    Python :

    n,m = map(int,input().split())
    myList = list(map(int,input().split()))
    max = 0
    for i in range(0,n - m + 1):
         s = 0
         for j in range(i,i + m):
              s = s + myList[j]
         if s / m > max:
              max = s / m
    print("%.2f"%(max))
    
    • 1

    信息

    ID
    160
    时间
    1000ms
    内存
    64MiB
    难度
    10
    标签
    递交数
    2
    已通过
    2
    上传者