题解 | #求平均数#

求平均数

http://www.nowcoder.com/practice/41e59cee1221424bb9291435aae79ae9

题意整理

  • 输入任意多个正整数。
  • 输出它们的平均数。

方法一(循环)

1.解题思路

  • 定义一个计数变量cnt和一个累加和变量sum,分别用于记录整数个数,以及它们的累加和。
  • 使用一个循环进行模拟输入,如果是负数,则终止循环。每轮循环,计数加一,并且累加和加上对应数字,最后将累加和与计数的商作为平均数输出。

动图展示: alt

2.代码实现

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        //标准输入
        Scanner scan = new Scanner(System.in);
        //计数
        int cnt=0;
        //记录平均数
        double avg=0;
        //记录累加和
        double sum=0;
        while(scan.hasNext()){
            int num=scan.nextInt();
            //如果小于0,直接终止循环
            if(num<0){
                break;
            }
            //累加和加上对应num
            sum+=num;
            //计数加一
            cnt++;
        }
        //计算平均数
        avg=sum/cnt;
        System.out.println(String.format("%.2f",avg));

    }
}

3.复杂度分析

  • 时间复杂度:假设输入了n个正整数,则需要循环n次,所以时间复杂度为O(n)O(n)
  • 空间复杂度:需要额外常数级别的空间,所以空间复杂度为O(1)O(1)
xqxls的题解 文章被收录于专栏

牛客题解

全部评论

相关推荐

AI牛可乐:哇,听起来你遇到了什么挑战呢!🐮牛可乐在这里,虽然小,但是勇敢又聪明,想听听你的具体情况哦!如果你愿意的话,可以点击我的头像给我私信,我们可以一起想办法应对挑战,好不好呀?🌟🎉
点赞 评论 收藏
分享
14 1 评论
分享
牛客网
牛客企业服务