I dette eksempel lærer du at sortere 5 strenge, der er indtastet af brugeren i den leksikografiske rækkefølge (ordbogrækkefølge).
For at forstå dette eksempel skal du have kendskab til følgende C-programmeringsemner:
- C Flerdimensionelle arrays
- C Programmeringsstrenge
- Strengmanipulationer i C-programmering ved hjælp af biblioteksfunktioner
Sorter strenge i ordbogens rækkefølge
#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; )
Produktion
Indtast 5 ord: R programmering JavaScript Java C programmering C ++ programmering I leksikografisk rækkefølge: C programmering C ++ programmering Java JavaScript R programmering
For at løse dette program oprettes en todimensional streng med navnet str. Strengen kan maksimalt indeholde 5
strenge, og hver streng kan maksimalt have 50
tegn (inklusive null
tegnet).
I programmet har vi brugt to biblioteksfunktioner:
- strcmp () - for at sammenligne strenge
- strcpy () - for at kopiere strenge
Disse funktioner bruges til at sammenligne strenge og sortere dem i den rigtige rækkefølge.