Ebben a példában megtanulod rendezni a felhasználó által beírt 5 karakterláncot lexikográfiai sorrendben (szótári sorrend).
A példa megértéséhez ismernie kell a következő C programozási témákat:
- C Többdimenziós tömbök
- C Programozási karakterláncok
- Karakterlánc-manipulációk a C-programozásban könyvtárfunkciók használatával
Rendezze a karakterláncokat a szótár sorrendjében
#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; )
Kimenet
Írjon be 5 szót: R programozás Java Java C programozás C ++ programozás Lexikográfiai sorrendben: C programozás C ++ programozás Java JavaScript R programozás
Ennek a programnak a megoldására kétdimenziós str nevű húr jön létre. A karaktersorozat maximum 5
karakterláncokat tartalmazhat, és mindegyik karaktersorozat legfeljebb 50
karaktereket tartalmazhat (a null
karaktert is beleértve ).
A programban két könyvtári funkciót használtunk:
- strcmp () - a húrok összehasonlítása
- strcpy () - karakterláncok másolása
Ezeket a függvényeket használják a karakterláncok összehasonlítására és a megfelelő sorrendbe rendezésre.