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 еквивалент на: