Module: (C++) Câu lệnh lặp có điều kiện - while


Problem

6/21

Số lượng ký tự

Theory Click to read/hide

Nhiệm vụ
Bạn phải nhập một số (hãy để nó nhỏ hơn 3.000.000) và xác định số chữ số trong đó.
 
Ý tưởng giải pháp
Chúng ta chỉ cần tuần tự cắt bỏ chữ số cuối cùng của một số (điều này có thể được thực hiện bằng cách giảm số đó đi 10 lần, sử dụng phép chia số nguyên cho 10) và mỗi lần chúng ta cần tăng bộ đếm. 

Kết quả là sau khi cắt hết các chữ số của dãy số, ta sẽ được dãy số của chúng trong quầy.

Thuật toán này có thể được xây dựng như sau:
Cho đến khi số bằng 0, hãy giảm số đó đi 10 và tăng bộ đếm lên 1 mỗi lần.
  <đầu>
Chương trình sẽ trông như thế này. #include<iostream> sử dụng không gian tên std; chủ yếu() { intn, đếm; cin>> N; đếm = 0; trong khi (n != 0) { đếm ++; n = n/10; } cout << "Số-" << n<< " chứa " << đếm << " chữ số";   } Bạn cần phải biết chương trình này bằng trái tim, bởi vì. trên cơ sở của nó, nhiều vấn đề khác liên quan đến việc tính toán các số bằng chữ số được giải quyết.

Problem

Chạy chương trình. 
Hãy nhìn vào kết quả công việc của cô ấy.
Mọi thứ đều ổn trong cụm từ đầu ra?
Hãy suy nghĩ về cách bạn có thể khắc phục vấn đề này.
số (n) bộ đếm
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!