با استفاده از زبان C برنامهای بنویسید که آرگومانهای ورودی (خط فرمان) را با strtoll از stdlib.h به اعداد صحیح بزرگ تبدیل کند و مجموع و میانگین آنها را چاپ نماید.
5.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:15 0.0
برای حل مسئله، در برنامه هدر stdlib.h را اضافه کنید و برای هر argv[i] از strtoll با پایهٔ 10 استفاده کنید؛ با استفاده از پارامتر endptr و بررسی errno==ERANGE اطمینان حاصل کنید که تبدیل موفق بوده و خارج از محدوده نبوده است. مقادیر معتبر را در یک متغیر long long جمع کرده و میانگین را با استفاده از long double محاسبه و چاپ کنید. در صورت نبودن عدد معتبر، پیام مناسبی نمایش دهید و برای مجموعههای بزرگ داده بهینهسازیهایی مانند خواندن از فایل بهجای خط فرمان یا استفاده از روش جمعبندی دقیقتر (مثلاً Kahan) را مدنظر قرار دهید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکته: برای هر آرگومان از argv با strtoll در پایهٔ 10 تبدیل کنید و با endptr بررسی کنید تا صحت تبدیل مشخص شود، و هدر stdlib.h را اضافه کنید. چک کنید که errno == ERANGE باشد تا خارج از محدودهٔ عدد نباشد و در غیر این صورت پیام مناسبی بدهید. مقادیر معتبر را در یک متغیر long long جمع کنید و میانگین را با long double محاسبه و چاپ کنید. برای دادههای بزرگ، بهینهسازیهایی مانند خواندن از فایل به جای خط فرمان یا استفاده از روش جمع دقیقتر مانند Kahan را مدنظر قرار دهید.
گزارش