یک برنامه C# بنویسید که ابتدا تعداد n را از کاربر بگیرد سپس n عدد اعشاری را خوانده و مقدار RMS (Root Mean Square) آنها را با استفاده از Math.Sqrt محاسبه و چاپ کند.
7.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:58 0.0
برای حل، اعداد را به صورت double بخوانید، مجموع مربعات آنها را محاسبه کنید، بر n تقسیم کرده و در نهایت با Math.Sqrt جذر را بگیرید. از double برای دقت کافی استفاده کنید و قبل از محاسبه بررسی کنید که n بزرگتر از صفر باشد؛ برای ورودیهای کاربر از double.TryParse استفاده کنید تا از کرش جلوگیری شود. برای مجموعههای بزرگ میتوانید به جای ذخیره همه اعداد، مجموع مربعات را بهصورت جاری (streaming) نگهدارید تا مصرف حافظه کاهش یابد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای پایداری ورودیها، مقدار n را با بررسی مثبت بودن و با double.TryParse دریافت کنید تا از کرش جلوگیری شود و خطاها مدیریت شوند. برای مجموعههای بزرگ، به جای ذخیره همه اعداد، مجموع مربعات را بهصورت جاری نگه دارید تا مصرف حافظه کاهش یابد. RMS برابر است با Math.Sqrt(sumSquares / n) که میتوانید با چاپ دقیقِ double نمایش دهید. در خواندن اعداد نیز میتوانید از CultureInfo.InvariantCulture استفاده کنید تا فرمت اعشار یکنواخت بماند و ورودیهای مختلف بهدرستی parse شوند.
گزارش