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

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

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));
    }
}
目录
相关文章
|
1月前
|
算法
给定两个数,求这两个数的最大公约数
给定两个数,求这两个数的最大公约数
|
1月前
|
人工智能 Java C++
计算逆序对数
计算逆序对数
21 0
|
1月前
给定 n 个整数,求里面出现次数最多的数,如果有多个重复出现的数,求值最大的那个 给定n个整数,求里面出现次数最多的数,如果有多个重复出现的数,求出值最大的一
给定 n 个整数,求里面出现次数最多的数,如果有多个重复出现的数,求值最大的那个 给定n个整数,求里面出现次数最多的数,如果有多个重复出现的数,求出值最大的一
|
1月前
60.编程统计数组a中正数、0、负数的个数
60.编程统计数组a中正数、0、负数的个数
23 0
|
1月前
|
算法 测试技术 C#
【最大公约数 调和级数】2183.统计可以被 K 整除的下标对数目
【最大公约数 调和级数】2183.统计可以被 K 整除的下标对数目
|
1月前
|
Python
计算小于或等于n的非负整数区间包含的1的数量
计算小于或等于n的非负整数区间包含的1的数量
27 0
小于等于K的最大子数组累加和
小于等于K的最大子数组累加和
|
自然语言处理 算法 Python
利用函数求出一个数组最大三个数的乘积
利用函数求出一个数组最大三个数的乘积
96 0
|
机器学习/深度学习
欧拉函数:求小于等于n且与n互质的数的个数
求小于等于n且与n互质的数的个数 互质穷举法 互质:两个数互质代表两者最大公约数为1 最大公约数求法:辗转相除法,最小公倍数:较大值除以最大公约数乘以较小值 辗转相除法: 较大的数a取模较小的数b,得取模值c 若取模值等于0 则最大公约数为取模值,否则继续下一步 a与c再次取模,回到第二步 //求最大公约数gcd以及最大公倍数lcm // 36 24 36/24 // 24 12 24/12 // 0 结束最大公约数为12 // 求最小公倍数 // lcm(a, b) = (a * b)/g
94 0
求整数序列中出现次数最多的数
求整数序列中出现次数最多的数
136 0