Quasi isogram 30 punti

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

#define MAXC 100

char compara(char *a, char *b)
{
    return *a - *b;
}

int n, i = -1, co = 0, j = -1, tmp, co1 = 0, co2 = 0, lstringavera = 0, I, J, J1, co3 = 0;
char A[MAXC+1];
char r;

int main() {

    assert(1 == scanf("%d\n", &n));
    for(i=0;i<n;i++) {
    assert(gets(A));
    co2 = 0;
    co1 = 0;
    j = -1;
    I = 0;
    J = 0;
    J1 = 0;
    lstringavera = 0;
    while(co1!=1)
    {
        j++;

        if(A[j]>=65 && A[j]<=90)
        A[j] = A[j] + 32;

        if(A[j]<97 || A[j]>122)
        {
            A[j] = ' ';
        }



        if(A[j+1]=='\0')
        {
            co1 = 1;
        }
lstringavera++;
    }

qsort(A,lstringavera,sizeof(char),compara);

 for(I=0;I<lstringavera;I++)
 {
     if(A[I]==A[I+1] && A[I]==A[I+2] && A[I]!=32 && A[I]!=255)
     {
         co2 = 1;
     }
     if(co2==1)
     {
         co2 = 0;
         co3++;
         I=lstringavera;
     }

 }

}

printf("%d", n-co3);

}

Questo codice dà trenta punti ma è corretto, gli esempi funzionano ma per il sito sono sbagliati

Con quella compara() non mi compila prova con quella sotto:

int compara(const void* a, const void* b)
{
    char* a1 = (char*)a;
    char* b1 = (char*)b;
    return *a1 - *b1;
}

Grazie mille adesso funziona giusto per informazione quale compilatore hai usato? A me il codice lo compilava normalmente

Il compilatore che uso io è quello di visual studio 2022 ma, a parte questo, ho sottomesso per prova la tua soluzione e dava errore anche il compilatore della piattaforma:

isogram.cpp:49:35: error: invalid conversion from ‘char ()(char, char*)’ to ‘__compar_fn_t’ {aka ‘int ()(const void, const void*)’} [-fpermissive]
49 | qsort(A,lstringavera,sizeof(char),compara);