Σε αυτό το παράδειγμα, θα μάθετε να ταξινομήσετε 5 συμβολοσειρές που εισήγαγε ο χρήστης με τη λεξικογραφική σειρά (σειρά λεξικού).
Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες θεματολογίες προγραμματισμού Γ:
- Πολυδιάστατες συστοιχίες
- Χορδές προγραμματισμού C
- Χειρισμοί συμβολοσειρών στον προγραμματισμό C χρησιμοποιώντας λειτουργίες βιβλιοθήκης
Ταξινόμηση συμβολοσειρών με τη σειρά του λεξικού
#include #include int main() ( char str(5)(50), temp(50); printf("Enter 5 words: "); // Getting strings input for (int i = 0; i < 5; ++i) ( fgets(str(i), sizeof(str(i)), stdin); ) // storing strings in the lexicographical order for (int i = 0; i < 5; ++i) ( for (int j = i + 1; j 0) ( strcpy(temp, str(i)); strcpy(str(i), str(j)); strcpy(str(j), temp); ) ) ) printf("In the lexicographical order: "); for (int i = 0; i < 5; ++i) ( fputs(str(i), stdout); ) return 0; )
Παραγωγή
Εισαγάγετε 5 λέξεις: προγραμματισμός R προγραμματισμός Java C προγραμματισμός C ++ προγραμματισμός με λεξικογραφική σειρά: προγραμματισμός C προγραμματισμός C ++ προγραμματισμός Java JavaScript R προγραμματισμός
Για την επίλυση αυτού του προγράμματος, δημιουργείται μια δισδιάστατη συμβολοσειρά που ονομάζεται str. Η συμβολοσειρά μπορεί να περιέχει το πολύ 5
χορδές και κάθε χορδή μπορεί να έχει το πολύ 50
χαρακτήρες (συμπεριλαμβανομένου του null
χαρακτήρα)
Στο πρόγραμμα, χρησιμοποιήσαμε δύο λειτουργίες βιβλιοθήκης:
- strcmp () - για σύγκριση συμβολοσειρών
- strcpy () - για αντιγραφή συμβολοσειρών
Αυτές οι συναρτήσεις χρησιμοποιούνται για να συγκρίνουν τις συμβολοσειρές και να τις ταξινομήσουν με τη σωστή σειρά.