So sortieren Sie ein Array von Zeichenfolgen alphabetisch (Groß- und Kleinschreibung beachten, nicht standardmäßige Sortierung)

Ich benötige einen C-Sprachcode, um einige Zeichenfolgen zu sortieren. Dabei muss zwischen Groß- und Kleinschreibung unterschieden werdenFür den gleichen Buchstaben in Groß- und Kleinbuchstaben muss der Kleinbuchstabe an erster Stelle stehen. Zum Beispiel das Ergebnis der Sortierung für die folgenden Zeichenfolgen:

eggs
bacon
cheese
Milk
spinach
potatoes
milk
spaghetti

sollte sein:

bacon
cheese
eggs
milk
Milk
potatoes
spaghetti
spinach

Ich habe einen Code geschrieben, aber das Ergebnis, das ich erhalte, ist:

Milk
bacon
cheese
eggs
milk
potatoes
spaghetti
spinach

Ich habe keine Ahnung, wie ich das verbessern kann und habe viel gesucht. Könnte mir jemand dabei helfen?

#include <stdio.h>
#include <string.h>

int main(){
    char c;
    char name[20][10], temp[10];
    int count_name = 0;
    int name_index = 0;
    int i, j;

    while ((c = getchar()) != EOF){
        if (c == 10){
            name[count_name][name_index] = '\0';
            count_name++;
            name_index = 0;
        } else {
            name[count_name][name_index] = c;
            name_index++;
        }
    }

    for(i=0; i < count_name-1 ; i++){
        for(j=i+1; j< count_name; j++)
        {
            if(strcmp(name[i],name[j]) > 0)
            {
                strcpy(temp,name[i]);
                strcpy(name[i],name[j]);
                strcpy(name[j],temp);
            }
        }
    }

    for (i = 0; i < count_name; i++){
        printf("%s\n", name[i]);
    }
}

Antworten auf die Frage(6)

Ihre Antwort auf die Frage