Module: (جاوا) عبارت حلقه با شرط - while


Problem

6/21

ارقام اعداد

Theory Click to read/hide

بیایید سعی کنیم برنامه ای برای حل مشکل زیر بنویسیم:

شما باید عددی را وارد کنید (بگذارید کمتر از 3,000,000 باشد و تعداد ارقام آن را تعیین کنید.

ایده راه حل


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

<سر> <بدن>
شماره (n) counter
123 0
12 1
1 2
0 3
برنامه به این شکل خواهد بود. <پیش> #include<iostream> با استفاده از namespace std. main() { intn, count; cin>> n تعداد = 0; در حالی که (n != 0) { count++; n = n / 10; } cout << "تعداد-" <<n<< " حاوی " << شمارش << " ارقام";   } شما باید این برنامه را از روی قلب بدانید، زیرا. بر اساس آن، بسیاری از مشکلات دیگر مربوط به محاسبه اعداد با ارقام حل می شود.

Problem

برنامه را اجرا کنید. 

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