o'rtacha, juda sodda C # kodini qaytaradi

Men bu masalani Treehouse'da qilyapman va nima uchun "nan" ni yozganimda tushunaman. O'ylaymanki, bu ikkiga bo'linishga urinadi, lekin nima uchun u 0 da qolib qolganini tushunmayman. Har qanday holatda bu erda mening kodim:

using System;

namespace averager
{
    class Program
    {
        static void Main()
        {
            var numberTotal = 0.0;
            var entryNumber = 0.0;
            var average = (numberTotal/entryNumber);

          while(true)
          {
           //Prompt user to enter a number or enter "done" to see the average
            Console.Write("Enter a number or type \"done\" to see the average: ");
            var entry = Console.ReadLine();


            if(entry.ToLower() == "done")
            {
              Console.WriteLine("The average is: " + average);
              break;
            }
            try
            {


              var number = double.Parse(entry);
              numberTotal += + number;
              entryNumber += + 1.0;

            }
            catch(FormatException)
            {
              Console.WriteLine("That is not a valid input");
              continue;
            }

          }

        }
    }
}
0
o'rtacha uchun birinchi tayiningiz Nan va kodingizda bitta tayinlanishdir.
qo'shib qo'ydi muallif Uladzimir Palekh, manba
0.0/0.0 - NAN.
qo'shib qo'ydi muallif Muhammad Saqlain, manba
bu 2 o'zgaruvchining raqamini o'zgartirib, Total + = + raqamini; entryNumber + = + 1.0; o'rtacha qiymatni o'zgartirish kerakmi?
qo'shib qo'ydi muallif spexel, manba
bu 2 o'zgaruvchining raqamini o'zgartirib, Total + = + raqamini; entryNumber + = + 1.0; o'rtacha qiymatni o'zgartirish kerakmi?
qo'shib qo'ydi muallif spexel, manba

6 javoblar

Console.WriteLine("The average is: " + average);

siz dasturning boshida o'rtacha qiymatni belgilashingiz mumkin, lekin foydalanuvchi kiritgan qiymatlarni kiritmasdan uni hech qachon aniqlay olmaysiz. Agar yuqorida ko'rsatilgan satrni aslida hisoblashni bajarish uchun o'zgartirsangiz:

Console.WriteLine("The average is: " + numberTotal/entryNumber);

kutilgan natijalarni ko'rasiz

1
qo'shib qo'ydi
Console.WriteLine("The average is: " + average);

siz dasturning boshida o'rtacha qiymatni belgilashingiz mumkin, lekin foydalanuvchi kiritgan qiymatlarni kiritmasdan uni hech qachon aniqlay olmaysiz. Agar yuqorida ko'rsatilgan satrni aslida hisoblashni bajarish uchun o'zgartirsangiz:

Console.WriteLine("The average is: " + numberTotal/entryNumber);

kutilgan natijalarni ko'rasiz

1
qo'shib qo'ydi

Qarang! Siz faqatgina avegar ni tayinladingiz:

//0.0/0.0 == NAN
 var average = (numberTotal/entryNumber);

va bundan buyon uni o'zgartirmang:

 var number = double.Parse(entry);
 //what do you mean by unary + here?
 numberTotal += + number;
 //what do you mean by unary + here? 
 entryNumber += + 1.0;

//average is NOT updated

nihoyat, NAN bo'lgan boshlang'ich o'rtacha chiqazdi:

  Console.WriteLine("The average is: " + average);

average hisobini qo'shish

 var number = double.Parse(entry);
 numberTotal += number;  
 entryNumber += 1.0;

 //TODO: do not forget to change average
 average = numberTotal/entryNumber;
1
qo'shib qo'ydi

Qarang! Siz faqatgina avegar ni tayinladingiz:

//0.0/0.0 == NAN
 var average = (numberTotal/entryNumber);

va bundan buyon uni o'zgartirmang:

 var number = double.Parse(entry);
 //what do you mean by unary + here?
 numberTotal += + number;
 //what do you mean by unary + here? 
 entryNumber += + 1.0;

//average is NOT updated

nihoyat, NAN bo'lgan boshlang'ich o'rtacha chiqazdi:

  Console.WriteLine("The average is: " + average);

average hisobini qo'shish

 var number = double.Parse(entry);
 numberTotal += number;  
 entryNumber += 1.0;

 //TODO: do not forget to change average
 average = numberTotal/entryNumber;
1
qo'shib qo'ydi

O'rtacha o'zgaruvchilar o'zgarmaguncha hisoblanadi va hali ham nolga teng. O'rtacha hech qachon qayta hisoblanmaydi. Yangi qiymatlarni o'qiganingizdan so'ng, o'rtacha qiymatini hisoblashingiz kerak.

0
qo'shib qo'ydi

O'rtacha o'zgaruvchilar o'zgarmaguncha hisoblanadi va hali ham nolga teng. O'rtacha hech qachon qayta hisoblanmaydi. Yangi qiymatlarni o'qiganingizdan so'ng, o'rtacha qiymatini hisoblashingiz kerak.

0
qo'shib qo'ydi