Отсортировать массив в порядке возрастания, но чтобы arr[0] != 0; не смотрите что я заполняю массив через getchar

не могу заполнить массив в порядке возрастания, но чтобы первый элемент массива не != 0; А через getchar делаю, так как не знаю как заполнить массив по другому. То есть, чтобы задать размер массива например: "7" и ввести только например : "1234567" и заполнение массива прекратилось. Пожалуйста, помогите нубу.

#include <stdio.h>
    int main() {
        char a[1000];
        int dryg[1000];
        int c, n, j = 0, buf = 0, min = 0;
        int i = 0;
        scanf_s("%d", &n);
        a[0] = getchar();
        for (i = 0; i < n; ++i)
            a[i] = getchar() - '0';
        for (int i = 0; i < n; ++i)
            dryg[i] = 0;
        for (int i = 0; i < n; ++i) {
            for (i = 0; i < n - 1; i++) {
                min = i;
                for (j = i + 1; j < n; j++)
                     if (a[j] < a[min])
                        min = j;
                buf = a[i];
                a[i] = a[min];
                a[min] = buf;
            }
        }
        for (int i = 0; i < n; ++i) {
            dryg[i] += a[i];
        }
        for (i = 0; i < n; ++i) {
            printf("%d", dryg[i]);
        }
    }

Ответы (0 шт):