java版本-输入一些整数,求出它们的最小值、最大值和平均值(保留3位小数)。输入保证这些 数都是不超过1000的整数。 输入包含多组数据,每组数据第一行是整数个数n,第二行是n个整数。

import java.util.Scanner;

public class shujutongji { 

	public final static int INF=1000000000;
	public static void main(String[] args) { 
		// TODO Auto-generated method stub
		int x,n=0,t=0,s=0;
		boolean kase=false;
		Scanner scanner=new Scanner(System.in);
		while(!scanner.hasNext("0")) { 
			t=scanner.nextInt();
			int min=INF,max=-INF;
			for(int i=0;i<t;i++) { 			
				x=scanner.nextInt();
				s+=x;		
				if(x<min)min=x;			
				if(x>max)max=x;
				n++;	
			}
			if (kase) { 
				System.out.println('\n');
			}
			kase=true;
			System.out.println(min+" "+max+" "+(double)s/n);
			
		}
		
	}
}

  1. 在多数据的题目中,一个常见的错误是:在计算完一组数据后某些变量没 有重置,影响到下组数据的求解。 解决方法很简单,把min和max定义在while循环中即可,这样每次执行循环体时,会新 声明和初始化min和max。
  2. 下一个要点是kase变量的使用。不难看出它是“当前数据编号”计数器。当输出第2组或以 后的结果时,会在前面加一个空行,符合题目“相邻两组数据的输出以空行隔开”的规定。注 意,最后一组数据的输出会以回车符结束,但之后不会有空行。不同的题目会有不同的规 定,请读者仔细阅读题目
    原文作者:00_JackLu
    原文地址: https://blog.csdn.net/qq_43399648/article/details/107891975
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞