统计正数和负数的个数然后计算这些数的平均值(循环、数组解法)

简介: 统计正数和负数的个数然后计算这些数的平均值(循环、数组解法)

R7-4 统计正数和负数的个数然后计算这些数的平均值 (15 分)


编写程序,输入未指定个数的整数,判断读入的正数有多少个,读入的负数有多少个,然后计算这些输入值得总和及平均值(不对0计数)。当输入为0时,表明程序结束。将平均值以double型数据显示。


输入格式:


输入在一行中给出一系列整数,其间以空格分隔。当读到0时,表示输入结束,该数字不要处


输出格式:


在第一行中输出正整数的个数; 在第二行中输出负整数的个数; 在第三行中输出这些输入值的总和(不对0计数); 在第四行中输出这些输入值的平均值(double型数据)。


样例">输入样哩:


1 2 -1 3 0



输出样例:


1. 3
2. 1
3. 5
4. 1.25



import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String l  = input.nextLine();
        if (l.equals("0")) {
            return ;
        }
        String[] string = l.split(" ");
        int[] array = new int[string.length];
        for (int i = 0; i < string.length; i++) {
            array[i] = Integer.valueOf(string[i]);
        }
        double sum = 0;
        int z = 0, f = 0;
        for (int i = 0; i < array.length; i++) {
            if (array[i] > 0) z++;
            if (array[i] < 0) f++;
            sum += array[i];
        }
        System.out.println(z);
        System.out.println(f);
        int x = (int)sum;
        System.out.println(x);
        System.out.println(sum / (z + f));
    }
}


import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String l  = input.nextLine();
        if (l.equals("0")) {
            return ;
        }
        String[] string = l.split(" ");
        int[] array = new int[string.length];
        for (int i = 0; i < string.length; i++) {
            array[i] = Integer.valueOf(string[i]);
        }
        double sum = 0;
        int z = 0, f = 0;
        for (int i = 0; i < array.length; i++) {
            if (array[i] > 0) z++;
            if (array[i] < 0) f++;
            sum += array[i];
        }
        System.out.println(z);
        System.out.println(f);
        int x = (int)sum;
        System.out.println(x);
        System.out.println(sum / (z + f));
    }
}


import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int positive = 0 ,negative = 0 ,getdata ,cnt = 0;
        double sum = 0 ,average;
        getdata = input.nextInt();
        if (getdata == 0) {
            return ;
        }
        while (getdata != 0) {
            if (getdata > 0) positive ++;
            if(getdata < 0) negative ++;
            cnt ++;
            sum += getdata;
            getdata = input.nextInt();
        }
        System.out.println(positive);
        System.out.println(negative);
        int x = (int)sum;
        System.out.println(x);
        System.out.println(sum / (positive + negative));
    }
}
目录
相关文章
|
7月前
60.编程统计数组a中正数、0、负数的个数
60.编程统计数组a中正数、0、负数的个数
48 0
|
7月前
|
算法 测试技术 C#
【最大公约数 调和级数】2183.统计可以被 K 整除的下标对数目
【最大公约数 调和级数】2183.统计可以被 K 整除的下标对数目
|
7月前
|
算法 测试技术 C#
【线段树】2276. 统计区间中的整数数目
【线段树】2276. 统计区间中的整数数目
|
7月前
|
算法 测试技术 C#
【最大公约数 排序】2344. 使数组可以被整除的最少删除次数
【最大公约数 排序】2344. 使数组可以被整除的最少删除次数
|
7月前
|
人工智能
PTA-求一组数中大于平均值的数的和
求一组数中大于平均值的数的和
73 0
计算 100 以内的偶数累加和
计算 100 以内的偶数累加和
54 0
|
自然语言处理 算法 Python
利用函数求出一个数组最大三个数的乘积
利用函数求出一个数组最大三个数的乘积
121 0
|
机器学习/深度学习 存储 算法
【简单算法】1.两数之和,给定整数数组和目标值,找出数组中2数之和等于目标值的元素
【简单算法】1.两数之和,给定整数数组和目标值,找出数组中2数之和等于目标值的元素
【简单算法】1.两数之和,给定整数数组和目标值,找出数组中2数之和等于目标值的元素
求出任意非负整数区间中1出现的次数
求出任意非负整数区间中1出现的次数
116 0