#include <stdio.h>
#include <string.h>
int digits_count(int num, char *outputstring) {
if (num < 0) {
strcpy(outputstring
, "Введено отрицательное число"); return -1; // Ошибка
}
int count[10] = {0}; // Массив для подсчёта цифр
char buffer[256]; // Буфер для вывода результатов
int index = 0;
// Подсчитываем цифры
do {
count[num % 10]++;
num /= 10;
} while (num > 0);
// Формируем строку вывода
for (int i = 0; i < 10; i++) {
if (count[i] > 0) {
index
+= sprintf(buffer
+ index
, "Количество %d - %d\n", i
, count
[i
]); }
}
// Копируем результат в outputstring
return 0; // Успех
}
int main() {
int x;
char output[256];
printf("Введите неотрицательное число: ");
if (digits_count(x, output) == -1) {
} else {
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCmludCBkaWdpdHNfY291bnQoaW50IG51bSwgY2hhciAqb3V0cHV0c3RyaW5nKSB7CiAgICBpZiAobnVtIDwgMCkgewogICAgICAgIHN0cmNweShvdXRwdXRzdHJpbmcsICLQktCy0LXQtNC10L3QviDQvtGC0YDQuNGG0LDRgtC10LvRjNC90L7QtSDRh9C40YHQu9C+Iik7CiAgICAgICAgcmV0dXJuIC0xOyAvLyDQntGI0LjQsdC60LAKICAgIH0KICAgIAogICAgaW50IGNvdW50WzEwXSA9IHswfTsgLy8g0JzQsNGB0YHQuNCyINC00LvRjyDQv9C+0LTRgdGH0ZHRgtCwINGG0LjRhNGACiAgICBjaGFyIGJ1ZmZlclsyNTZdOyAvLyDQkdGD0YTQtdGAINC00LvRjyDQstGL0LLQvtC00LAg0YDQtdC30YPQu9GM0YLQsNGC0L7QsgogICAgaW50IGluZGV4ID0gMDsKCiAgICAvLyDQn9C+0LTRgdGH0LjRgtGL0LLQsNC10Lwg0YbQuNGE0YDRiwogICAgZG8gewogICAgICAgIGNvdW50W251bSAlIDEwXSsrOwogICAgICAgIG51bSAvPSAxMDsKICAgIH0gd2hpbGUgKG51bSA+IDApOwoKICAgIC8vINCk0L7RgNC80LjRgNGD0LXQvCDRgdGC0YDQvtC60YMg0LLRi9Cy0L7QtNCwCiAgICBmb3IgKGludCBpID0gMDsgaSA8IDEwOyBpKyspIHsKICAgICAgICBpZiAoY291bnRbaV0gPiAwKSB7CiAgICAgICAgICAgIGluZGV4ICs9IHNwcmludGYoYnVmZmVyICsgaW5kZXgsICLQmtC+0LvQuNGH0LXRgdGC0LLQviAlZCAtICVkXG4iLCBpLCBjb3VudFtpXSk7CiAgICAgICAgfQogICAgfQoKICAgIC8vINCa0L7Qv9C40YDRg9C10Lwg0YDQtdC30YPQu9GM0YLQsNGCINCyIG91dHB1dHN0cmluZwogICAgc3RyY3B5KG91dHB1dHN0cmluZywgYnVmZmVyKTsKCiAgICByZXR1cm4gMDsgLy8g0KPRgdC/0LXRhQp9CgppbnQgbWFpbigpIHsKICAgIGludCB4OwogICAgY2hhciBvdXRwdXRbMjU2XTsKCiAgICBwcmludGYoItCS0LLQtdC00LjRgtC1INC90LXQvtGC0YDQuNGG0LDRgtC10LvRjNC90L7QtSDRh9C40YHQu9C+OiAiKTsKICAgIHNjYW5mKCIlZCIsICZ4KTsKCiAgICBpZiAoZGlnaXRzX2NvdW50KHgsIG91dHB1dCkgPT0gLTEpIHsKICAgICAgICBwcmludGYoIiVzXG4iLCBvdXRwdXQpOwogICAgfSBlbHNlIHsKICAgICAgICBwcmludGYoIiVzIiwgb3V0cHV0KTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQ==