Условие задачи
В файле task.in задан массив размером не более 100 элементов.
Прочитать массив и удалить из него дубликаты элементов.
Результирующий массив записать в task.out.

#include <stdio.h>

#define SIZE 100

int arrayScan(FILE *in, int array[], int len) {
    int i;
    
    for ( i = 0; i < len && fscanf(in, "%d", &array[i]) > 0; i++ );
    
    return i;
}

void arrayPrint(FILE *out, int array[], int len) {
    len = len - 1;
    for ( int i = 0; i < len; i++ ) {
        fprintf(out, "%d ", array[i]);
    }
    fprintf(out, "%d\n", array[len]);
}

int arraySearch(int array[], int needle, int len) {
    for ( int i = 0; i < len; i++ ) {
        if ( array[i] == needle ) {
            return i;
        }
    }
    return -1;
}

int arrayUnique(int array[], int len) {
    int index, needle;
    
    index = 0;
    for ( int i = 0; i < len; i++ ) {
        needle = array[i];
        
        if ( arraySearch(array, array[i], i) == -1 ) {
            array[index] = needle;
            index += 1;
        }
    }
    
    return index;
}

int main() {
    FILE *in = fopen("task.in", "r");
    FILE *out = fopen("task.out", "w");
    int array[SIZE];
    int len = arrayScan(in, array, SIZE);
    
    fclose(in);
    
    arrayPrint(out, array, arrayUnique(array, len));
    fclose(out);
    
    return 0;
}