Дано натуральное число. Определить, сколько раз в нем встречается минимальная цифра - C (СИ)
Формулировка задачи:
Дано натуральное число. Определить, сколько раз в нем встречается минимальная цифра (например, для числа 102200 ответ равен 3, для числа 40330 – 2).
Решение задачи: «Дано натуральное число. Определить, сколько раз в нем встречается минимальная цифра»
textual
Листинг программы
int main(int argc, char* argv[])
{
int i,k,n;
int D[10]; /* счетчик цифр */
for (i=0;i<10;i++)D[i]=0; /* чистим *.
printf("n="); /* приглашение*/
scanf("%d",&n); /* ввод n*/
while(1) /* цикл */
{
if (n==0) break; /* если n=0 - выход из цикла */
k=n % 10; /* получаем очередную цифру */
D[k]++; /* увеличим на 1 счетчик этой цифры */
n/=10; /* делим n на 10 */
}
for (i=0; i<10; i++) /* первая цифра с ненулевым счетчиком и будет минимальной... */
if (D[i] > 0)
{
printf("%d\n",D[i]); /* печатаем счетчик */
break; /* выходим из цикла */
}
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявлены три переменные: i, k, n.
- Объявлен массив D размером 10 для подсчета количества каждой цифры числа.
- В цикле for очищаются значения в массиве D.
- В цикле while считывается число n и происходит подсчет количества каждой цифры этого числа в массиве D.
- В цикле for выводится на экран первая цифра с ненулевым счетчиком, то есть минимальная цифра.
- Код завершается возвратом 0, что означает успешное выполнение.