Задача
Во входном потоке следует заранее неизвестное количество строк, в каждой из которых указана фамилия и величина зарплаты одного из сотрудников. Вычислите величину средней по компании заработной платы.
Входные данные
Фамилия работника ([latex]name[/latex]) и величина его зарплаты ([latex]sal[/latex]).
Выходные данные
Средняя зарплата по компании.
Тесты
Входные данные | Выходные данные | |
[latex]name[/latex] | [latex]sal[/latex] | |
Ivanov | 200 | 200 |
Ivanov
Smirnov Popov Sokolov |
100
150 200 150 |
150 |
Код программы на C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#include <iostream> #include <cstring> using namespace std; int main() { string name; double sal, total=0, sum=0; while (cin >> name){ cin >> sal; total+=sal; sum++; } cout << total/sum; return 0; } |
Код программы на Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import java.util.*; class Main { public static void main (String[] args) throws java.lang.Exception { Scanner scan = new Scanner(System.in); double total=0, sum=0; while (scan.hasNext()){ if (!scan.hasNextDouble()){ scan.next(); total += scan.nextDouble(); sum++; } else scan.next(); } System.out.print(total/sum); } } |
Решение
В переменную [latex]total[/latex] которая изначально равна [latex]0[/latex] прибавляем зарплату каждого сотрудника, а [latex]sum[/latex] показывает количество сотрудников. Выводим зарплату всех сотрудников деленную на их количество.