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

Ответы на вопрос

Это программа на Си, но она будет работать правильно и в Си++.
#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;
}



Чтобы посчитать количество нулей внутри числа, но не учитывая нули на конце, можно использовать следующий алгоритм:
1. Преобразовать число в строку. 2. Инициализировать переменную "count" для подсчета нулей внутри числа и установить ее значение равным нулю. 3. Проходить по каждой цифре числа с помощью цикла. 4. Если текущая цифра равна нулю и следующая цифра не является нулем, увеличить значение переменной "count" на единицу. 5. Вывести значение переменной "count".
Ниже приведен пример кода на языке C++, реализующий данный алгоритм:
```cpp
#include
int countZerosInsideNumber(int number) { std::string numberStr = std::to_string(number); int count = 0; for (int i = 0; i < numberStr.length() - 1; i++) { if (numberStr[i] == '0' && numberStr[i + 1] != '0') { count++; } } return count; }
int main() { int number = 2020; int zerosCount = countZerosInsideNumber(number); std::cout << "Количество нулей внутри числа " << number << ": " << zerosCount << std::endl; return 0; } ```
В данном примере функция `countZerosInsideNumber` принимает число `number` и возвращает количество нулей внутри этого числа. В функции `main` примерно показано, как использовать эту функцию для подсчета нулей в числе 2020. Результат будет выведен на экран.
Надеюсь, это поможет вам решить вашу задачу. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili