اذهب إلى المحتوى

السؤال

نشر

لماذا يظهر في الخرج الكلمة NaN
عند تنفيذ البرنامج التالي:

int a, b, c;
            double delta,solution1,solution2;

            a = 1;
            b = 1;
            c = 1;

            delta = b * b - 4 * a * c;

            solution1 = (-b - Math.Sqrt(delta)) / (2 * a);
            solution2 = (-b + Math.Sqrt(delta)) / (2 * a);

            Console.WriteLine("Solution 1:{0}", solution1);
            Console.WriteLine("Solution 2:{0}", solution2);

 

Recommended Posts

  • 0
نشر

السبب في ذلك أنّك تحاول إيجاد الجذر التربيعي لقيمة سالبة. وهي قيمة المتغيّر delta الذي سيكون سالبًا في هذه الحالة حسب قيم a و b و c المعطاة. أقترح التعديل التالي للشيفرة البرمجيّة الخاصة بك لتأخذ بعين الاعتبار هذه الحالة:

int a, b, c;
            double delta, solution1, solution2;

            a = 1;
            b = 1;
            c = 1;

            delta = b * b - 4 * a * c;

            if(delta > 0)
            {
                solution1 = (-b - Math.Sqrt(delta)) / (2 * a);
                solution2 = (-b + Math.Sqrt(delta)) / (2 * a);

                Console.WriteLine("Solution 1 = {0}", solution1);
                Console.WriteLine("Solution 2 = {0}", solution2);
            }
            else if (delta == 0)
            {
                solution1 = (-b - Math.Sqrt(delta)) / (2 * a);

                Console.WriteLine("Solution 1 = Solution 2 = {0}", solution1);
            }
            else
            {
                Console.WriteLine("There is no solutions in R set.");
            }

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...