Loading...
markovood avatar markovood 11 Точки

зад. 04.Cat Food [Programming Basics Online Exam] - 16 and 17 June 2018

Някой може ли да открие грешка в това решение, аз определено зациклих...

Judge ми дава 70/100, а виждам че все пак има и такива със 100/100

Или има грешни тестове... , а тези със 100/100 са трейнърите...

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CatFood
{
    class Program
    {
        static void Main(string[] args)
        {
            int numbOfCats = int.Parse(Console.ReadLine());

            int catCounter = 1;
            int group1 = 0;
            int group2 = 0;
            int group3 = 0;
            double totalFoodWeightGrams = 0;
            while (catCounter <= numbOfCats)
            {
                double foodWeightInGrams = double.Parse(Console.ReadLine());
                totalFoodWeightGrams += foodWeightInGrams;
                if (foodWeightInGrams >= 100 && foodWeightInGrams < 200)
                {
                    group1++;
                }
                else if (foodWeightInGrams >= 200 && foodWeightInGrams < 300)
                {
                    group2++;
                }
                else if (foodWeightInGrams >= 300 && foodWeightInGrams <= 400)
                {
                    group3++;
                }

                catCounter++;
            }

            double priceForFood = (totalFoodWeightGrams / 1000) * 12.45;
            Console.WriteLine($"Group 1: {group1} cats.");
            Console.WriteLine($"Group 2: {group2} cats.");
            Console.WriteLine($"Group 3: {group3} cats.");
            Console.WriteLine($"Price for food per day: {priceForFood:F2} lv.");
        }
    }
}

 

Тагове:
0
Programming Basics 23/07/2018 23:35:24
boykopk avatar boykopk 147 Точки
Best Answer

 

Здравей,

добави този ред преди Console.Writeline и става 100/100

priceForFood = Math.Floor(priceForFood * 100) / 100;

Това е един от начините да оставиш само 2 числа зад точката.

0
markovood avatar markovood 11 Точки

Значи от това F2 идва грешката така ли ...

не разбирам значи не е дообяснено в условието както трябва

как би трябвало да се сетя за такова нещо ако ми се падне подобна задача на изпит

0
24/07/2018 11:27:07
boykopk avatar boykopk 147 Точки

F2 само реже, а с Math.Floor(priceForFood * 100) / 100 закръгляш до втория знак.

0
Hristomira avatar Hristomira 1 Точки

Здравейте,

При мен също се получават 70/100 точки. Аз също съм позлвала F2, за да закръгля до втория знак както е в условието. Когато опитам с Math.floor ми дава 0 точки, което очаквах понеже доколкото съм запозната Math.Floor закръгля към по ниското число резултата, а това съответно го променя. Моля за малко помощ и благодаря предварително! 

Линк към кода: https://pastebin.com/ptHUmv9D

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.