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]);
}
}