C программа для отображения цифр числа и повторяющихся цифр
программа должна отсканировать число типа 59149 и распечатать его:
5
9
1
4
9
5 повторяется 1 раз
9 повторяется 2 раза
1 повторяется 1 раз
4 повторяется 1 раз
но моя проблема заключается в том, что часть повторяется раз. я придумал идею и написал функцию "RepeatedDigits", но, похоже, с этой функцией что-то не так. результат показывает некоторые бессмысленные числа, такие как "5 повторяется -1 раз" или "5 повторяется 23512623 раза"
И да, я знаю, что я нуб.
Что я уже пробовал:
#include <stdio.h> #include <math.h> main() { int Number,R,P,i,AllNumbers[10]; scanf("%d",&Number); P=Digits(Number); while(Number!=0) { R=Number/P; Number=Number%P; P=P/10; printf("%d\n",R); } for(i=0;i<=9;++i) printf("%d is repeated %d times\n",i,AllNumbers[i]); } int Digits (int Number) { int Q=11,Counter=0,P; while(Q>10) { Q=Number/10; Counter=Counter+1; Number=Q; } P= pow(10,Counter); return P; } int RepeatedDigits (int Number) { int AllNumbers[10],R,i; for(i=0;i<=9;++i) { AllNumbers[i]=0; } while(Number!=0) { R=Number%10; AllNumbers[R]++; Number=Number/10; } return AllNumbers[R]; }