یک برنامه به زبان C بنویسید که با استفاده از تابع getc از stdio.h ورودی استاندارد را بخواند و تعداد خطوط، کلمات و نویسه‌ها را شمارش کرده و در خروجی چاپ کند.

4.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:25

0.0

برای حل این مسئله از حلقه‌ای که با getc(stdin) تک‌تک نویسه‌ها را تا رسیدن به EOF می‌خواند استفاده کنید؛ هر بار یک نویسه خوانده شده را به شمارنده‌ی نویسه‌ها اضافه کنید، با دیدن '\n' شمارنده‌ی خطوط را افزایش دهید و برای شمارش کلمات از یک حالت ساده‌ی تغییر وضعیت بین فضای سفید و غیرفضای سفید (مثلاً با تابع isspace یا چک کردن ' '، '\t' و '\n') استفاده کنید تا مرزهای کلمه را تشخیص دهید. برنامه را با gcc کامپایل و با ورودی استاندارد یا بازگرداندن فایل (redirection) آزمایش کنید؛ از نوع int برای نگه‌داری مقدار بازگشتی getc استفاده کنید تا EOF به‌درستی پردازش شود.

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

نکته کلیدی این است که مقدار بازگشتی getc باید در متغیری از نوع int نگهداری شود تا EOF به درستی تشخیص داده شود. مقایسه با EOF (نه با -1 به‌عنوان کاراکتر) برای جلوگیری از خطا ضروری است. برای تشخیص مرز کلمات می‌توانید از یک وضعیت بین فضای سفید و غیر فضای سفید استفاده کنید یا از تابع isspace استفاده کنید. در نهایت، اگر آخرین خط با '\n' تمام نشده باشد هم خروجی را چاپ کنید تا نتیجه دقیق باشد.

گزارش

1 پاسخ

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

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