Дано натуральное число N (N<=109). Определить сколько раз в нем встречается последняя цифра (без учета последней цифры).
#include <stdio.h>
#include <conio.h>
main()
{
int N,i,c;
scanf ("%d", &N);
i=0;
c=N%10;
while (N%10 >= 0)
{
N=N%10;
i++;
}
printf ("%d", i);
}
Программа зацикливается. Почему?
cin >> n;
int last = n%10;
n /= 10;
int count = 0;
while(n)
{
if (n%10 == last) count++;
n /= 10;
}
cout << count;
Где-то так... Если вы имеете в виду, что в числе 1254423452331212 последняя цифра встречается 4 раза.
Ваша программа не может не зацикливаться, так как с какого-то момента переменная цикла не меняется (когда становится одной цифрой, N%10 равно N), и условие остается истинным...
N=N%10;
В этом месте должно быть деление, а не остаток.
Зацикливается из-за того, что остаток от деления на 10 никогда не меняется.
PS: А ещё код не дописан - не хватает собственно проверки на равенство последней цифре.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости