签到题

签到题

时间限制 : 1sec / 空间限制: 256MB

题意:

输入一些整数,求出他们的最小值,最大值和平均值(保留3位小数)。

输入:

第一行一个数字n,表示输入的数字的个数;

第二行n个整数,每两个数字之间用一个空格分隔。

保证1 <= n <= 1000,每个数字大于等于0,小于等于1000.

输出:

第一行两个整数,用一个空格分隔,分别表示最小值,最大值;

第二行一个浮点数,表示这些数字的平均值,保留3位小数。

样例一:

输入:

5

834 164 473 245 703

输出:

164 834

483.800

样例二:

输入:

3

749 414 649

输出:

414 749

604.000


C

#include <stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	int i;
	int mx = 0,mi = 1001;
	int sum = 0;
	for (i = 1;i <= n;i++)
	{
		int x;
		scanf("%d",&x);
		sum += x;
		if (x > mx) mx = x;
		if (x < mi) mi = x;
	}
	printf("%d %d\n%.3f\n",mi,mx,1.0 * sum / n);
	return 0;
}

C++

#include<iostream>
#include<iomanip>
using namespace std;
int main(){
    int n;
    int temp;
    double sum = 0;
    int max = -1;
    int min = 2000;
    cin>>n;
    for(int i = 0; i < n; i++){
        cin>>temp;
        if(temp > max){
            max = temp;
        }

        if(temp < min){
            min = temp;
        }
        sum+=temp;
    }
    cout<<min<<" "<<max<<endl;
    cout<<fixed<<setprecision(3)<<(sum*1.0)/n;
return 0;
}

java

import java.util.Scanner;
public class Main {
	@SuppressWarnings("resource")
	public static void main(String[] args) {
		int n;
		Scanner input = new Scanner(System.in);
		n = input.nextInt();
		int min = Integer.MAX_VALUE;//最小值设置成最大的
		int max = Integer.MIN_VALUE;//最大值设置成最小的
		int temp;
		int sum = 0;
		for(int i = 0; i < n; i++) {
			temp = input.nextInt();
			sum += temp;//累加
			if(temp > max) {//判断更新最大值
				max = temp;
			}
			if(temp < min) {//判断更新最小值
				min = temp;
			}
		}
		System.out.println(min+" "+max);
		System.out.printf("%.3f",(sum*1.0)/n);
	}
}

猜你喜欢

转载自blog.csdn.net/qq_40794973/article/details/83795852