با استفاده از زبان 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) را مدنظر قرار دهید.

توسط پژوهشگر در 220 روز قبل ساعت 02:15
دسته بندی ها: C for beginner
nima در 220 روز قبل ساعت 10:21

نکته: برای هر آرگومان از argv با strtoll در پایهٔ 10 تبدیل کنید و با endptr بررسی کنید تا صحت تبدیل مشخص شود، و هدر stdlib.h را اضافه کنید. چک کنید که errno == ERANGE باشد تا خارج از محدودهٔ عدد نباشد و در غیر این صورت پیام مناسبی بدهید. مقادیر معتبر را در یک متغیر long long جمع کنید و میانگین را با long double محاسبه و چاپ کنید. برای داده‌های بزرگ، بهینه‌سازی‌هایی مانند خواندن از فایل به جای خط فرمان یا استفاده از روش جمع دقیق‌تر مانند Kahan را مدنظر قرار دهید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری