Предмет: Информатика, автор: TsVeronika28

Срочно нужна помощь! Язык: с++

Надо посчитать количество нулей внутри числа, но не учитывая нули на конце. К примеру, 2020, должно вывести что ноль в числе один, т.к. нужны только нули внутри числа.
Заранее благодарю за помощь) ​

Ответы

Автор ответа: boberon
0

Это программа на Си, но она будет работать правильно и в Си++.

#include <stdio.h>

#include <stdlib.h>

int main() {

   int number = 0; // Our number

   int zeroes = 0; // Number of zeroes

   

   // Ask user to provide the number and store it in a variable.

   printf("Enter the number: ");

   int ret = scanf("%d", &number);

   

   // Handle user input errors.

   if (ret != 1) {

       printf("It doesn't look like a valid number!\n");

       exit(1);

   }

   

   // Divide number by 10 while there are no more trailing zeroes.

   while (number != 0 && number % 10 == 0) {

       number = number / 10;

   }

   

   // Continue dividing number by 10 and count every time it ends with a zero.

   while (number != 0) {

       if (number % 10 == 0) {

           zeroes++;

       }

       number = number / 10;

   }

   

   // Print the result.

   printf("There are %d zeroes inside.\n", zeroes);

   

   return 0;

}

Похожие вопросы