gabi11

Sets & Dictionaries Advanced - 2. Average Student Grades

May 18th, 2019
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.25 KB | None | 0 0
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6.  
  7. namespace Advanced
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int number = int.Parse(Console.ReadLine());
  14.  
  15.             var studentsGrades = new Dictionary<string, List<double>>();
  16.  
  17.             for (int i = 0; i < number; i++)
  18.             {
  19.                 var input = Console.ReadLine().Split();
  20.                 var name = input[0];
  21.                 var grade = double.Parse(input[1]);
  22.  
  23.                 if (!studentsGrades.ContainsKey(name))
  24.                 {
  25.                     studentsGrades[name] = new List<double>();
  26.                 }
  27.  
  28.                 studentsGrades[name].Add(grade);
  29.             }
  30.  
  31.             foreach (var student in studentsGrades)
  32.             {
  33.                 var name = student.Key;
  34.                 var grades = student.Value;
  35.                 var average = grades.Average();
  36.  
  37.                 Console.Write($"{name} -> ");
  38.  
  39.                 foreach (var grade in grades)
  40.                 {
  41.                     Console.Write($"{grade:f2} ");
  42.                 }
  43.  
  44.                 Console.WriteLine($"(avg: {average:f2})");
  45.             }
  46.         }
  47.     }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment