Module: عبارت حلقه با شرط - while


Problem

6/20

ارقام اعداد

Theory Click to read/hide

بیایید سعی کنیم برنامه ای برای حل مشکل زیر بنویسیم: شما باید یک عدد وارد کنید و تعداد ارقام موجود در آن را تعیین کنید.

ایده راه حل.
فقط باید آخرین رقم را به ترتیب از عدد جدا کنیم (این کار را می توان با کاهش عدد 10 برابر، با استفاده از تقسیم عدد صحیح بر 10 انجام داد)، و هر بار باید شمارنده را افزایش دهیم. 
در نتیجه، پس از اینکه همه اعداد را قطع کردیم، شمارنده تعداد ارقام موجود در عدد را ذخیره می کند.
به روشی دیگر، الگوریتم را می توان به صورت زیر فرموله کرد: در حالی که عدد برابر با صفر نیست، آن را 10 برابر کاهش دهید و شمارنده را 1 افزایش دهید.

<سر> <بدن>
شماره (n) کانتر
123 0
12 1
1 2
0 3
برنامه به این صورت خواهد بود: <پیش> ... استاتیک void Main() { int n = Convert.ToInt32(Console.ReadLine()); تعداد int = 0; در حالی که (n != 0) { count++; n = n / 10; } } شما باید این برنامه را به خوبی بشناسید و درک کنید، زیرا بسیاری از کارهای دیگر مربوط به محاسبه با ارقام هستند. یک عدد.

Problem

برنامه را اجرا کنید. 
به نتیجه کار او نگاه کنید. آیا همه چیز در عبارت خروجی درست است؟ به این فکر کنید که چگونه می توانید این نقص را برطرف کنید.