Module: (C++) 带条件的循环语句 - while


Problem

6/21

数字位数

Theory Click to read/hide

任务
您必须输入一个数字(小于 3,000,000)并确定其中的位数。
 
解决思路
我们只需要依次从数字中截去最后一位(这可以通过将数字减少 10 次,使用整数除以 10 来完成),每次我们都需要增加计数器。 

这样一来,我们把号码的所有数字都截掉后,就可以在计数器中得到他们的号码了。

该算法可以表述如下:
直到数字为零,每次减 10,计数器加 1。
  <头> <正文>
该程序将如下所示。 #include; 使用命名空间标准; 主要的() { intn,计数; 辛>>名词; 计数 = 0; 而(n!= 0) { 计数++; n = n / 10; } 输出 << “数字-” << n<< “包含“ <<计数 << “数字”;   你需要牢记这个程序,因为。在此基础上,解决了其他许多与数字计算有关的问题。

Problem

运行程序。 
看看她的工作成果。
输出短语一切正常吗?
想想如何解决这个问题。
数 (n) 计数器
123 0
12 1
1 2
0 3
1
#include<iostream>          
2
using namespace std;        
3
main()  {          
4
  int n, count;          
5
  cin >> n;          
6
  count = 0;          
7
  while (n != 0)           
8
  {          
9
     count ++;          
10
     n = n / 10;          
11
  }          
12
  cout << "Number " << n << " contains " << count << " digits";         
13
}          

     

Program check result

To check the solution of the problem, you need to register or log in!