یک برنامهٔ C بنویسید که تعداد n را از ورودی بخواند، سپس n رشتهٔ عددی را بخواند، هر رشته را با strtold تبدیل به long double کند و جمع، میانگین و انحراف معیار نمونه را چاپ کند.
5.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:46 0.0
برای تبدیل رشته به عدد اعشاری با دقت بالا از تابع strtold از استفاده کنید: long double x = strtold(s, &endptr) و بررسی کنید endptr != s برای تشخیص ورودی نامعتبر؛ سپس در یک گذر مقدارها را جمع کرده و میانگین را محاسبه کنید و در گذر دوم مجموع مربعات اختلاف از میانگین برای محاسبه و سپس گرفتن ریشهٔ دوم (با sqrtl از ) برای بهدستآوردن انحراف معیار نمونه استفاده کنید. نکات: از نوع long double و فرمت "%Lf" در printf استفاده کنید و ورودیهای نامعتبر را هندل کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای تبدیل ایمن رشتهها به عدد از strtold استفاده کنید و با بررسی endptr از نامعتبر بودن ورودی اطمینان یابید. همچنین شرط صحت n را بررسی کنید و در صورت n≤0 یا ورودیهای نامعتبر، خطای مناسب بدهید تا برنامه خاموش نشود. از دو پاس استفاده کنید: در پاس اول مقادیر را جمع و میانگین را محاسبه کنید، و در پاس دوم مجموع مربعات تفاوت از میانگین را برای محاسبه انحراف معیار نمونه بیندازید. از long double و فرمت %Lf در printf بهره ببرید و از sqrtl برای بهدست آوردن ریشه دوم استفاده کنید.
گزارش