Programming Basics Exam - Problem 04. Grades
Здравейте, мъча се с тази задача и не мога да разбера къде правя грешка.
На края конзолата дава като резултат само нулеви стойности, освен при average. Разгледах и други решения, ала все още недоумявам какво е нужно да променя или добавя, за да оптимизирам кода ми.
Ето го:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Grades
{
    class Program
    {
        static void Main(string[] args)
        {
            int students = int.Parse(Console.ReadLine());
            int greaterThanFive = 0;
            int betweenFourAndFive = 0;
            int betweenThreeAndFour = 0;
            int PoorerThanThree = 0;
            double average = 0;
            for (int i = 0; i < students; i++)
            {
                double gradeInput = double.Parse(Console.ReadLine());                
                if (gradeInput >= 5.00) greaterThanFive++;
                if (gradeInput >= 4.00 && gradeInput <= 4.99) betweenFourAndFive++;
                if (gradeInput >= 3.00 && gradeInput <= 3.99) betweenThreeAndFour++;
                if (gradeInput < 3.00) PoorerThanThree++;
                average += gradeInput;
            }
            Console.WriteLine("Top students: {0:f2}%", (greaterThanFive / students) * 100);
            Console.WriteLine("Between 4.00 and 4.99: {0:f2}%", (betweenFourAndFive / students) * 100);
            Console.WriteLine("Between 3.00 and 3.99: {0:f2}%", (betweenThreeAndFour / students) * 100);
            Console.WriteLine("Fail: {0:f2}%", (PoorerThanThree / students) * 100);
            Console.WriteLine("Average: {0:f2}", average / students);
        }
    }
}
Благодаря ви предварително!
100/100! Благодаря много за съвета и за линка. Ще обръщам повече внимание на тези особености.
Благодаря за вмъкването на топ грешките, и за обясненията към тази задача. и аз се мъчих с този проблем.
а за що когато е
sum=+num;
е различно от
sum+=num
?
"+=" е специален оператор, който добавя стойността на променливата преди оператора към пресмятанията след него. Виж C# Operators.
Този ред код:
е еквивалент на:
Докато "=+" в C# програмирането дори не е прието да се пише слято (при маркиране и натискане на клавишната комбинация Ctrl + K + D ще видиш, че ще Visual Studio ще сложи space между двата знака ето така "= +"). Както в математиката - ако имаме "+" пред някое число, то той не се чете.
Този ред код:
e еквивалент на:
Мерси много! Бяха го казали на лекцията,но съм забравила. На вид ми изглеждаха еднакви.