Я хочу подсчитать количество одинаковых чисел в int.Как подсчитать повторяющиеся ints
Цикл if не работает, почему это так?
#include <stdio.h>
int main(void){
unsigned int digit;
unsigned int n;
int current_digit;
scanf("%u", &digit);
scanf("%u", &n);
int i = 0;
while(current_digit != n) {
current_digit = n % 10;
n /= 10;
printf("%i", current_digit);
if (current_digit == digit){
i++;
}
}
printf("%d", i);
}
Я хочу, если цикл, чтобы проверить, сколько времени digit
используется в n
. Но цикл if работает неправильно.
Пример: digit
= 1 n
= 11111 Тогда результат должен быть 5, поскольку 1 используется 5 раз в n
, но выход 4
Один объект 'int' может удерживать только одно значение за раз. Для подсчета цифр: возможно, стоит подумать дважды , Вы вводите число цифрами. По какой-либо причине вы сначала конвертируете его в целочисленную переменную, а затем обратно на отдельные цифры? – Olaf
Чтобы уточнить, что сказал @Olaf sir, 'if (digit == n)' является ошибочной концепцией того, чего вы пытаетесь достичь. –
@EugeneSh. мой плохой - я думал, что ему нужна цифра, которая произошла чаще всего - я удалю комментарий. –