Tässä esimerkissä opit lajittelemaan 5 käyttäjän kirjoittamaa merkkijonoa leksikografisessa järjestyksessä (sanakirjajärjestyksessä).
Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista C-ohjelmointiaiheista:
- C Moniulotteiset taulukot
- C Ohjelmointijonot
- Merkkijonon manipulaatiot C-ohjelmoinnissa kirjastotoimintojen avulla
Lajittele merkkijonot sanakirjajärjestyksessä
#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; )
Tuotos
Kirjoita 5 sanaa: R-ohjelmointi JavaScript Java C-ohjelmointi C ++ -ohjelmointi Leksikografisessa järjestyksessä: C-ohjelmointi C ++ -ohjelmointi Java JavaScript R-ohjelmointi
Tämän ohjelman ratkaisemiseksi luodaan kaksiulotteinen merkkijono nimeltä str. Merkkijono voi sisältää enintään 5
merkkijonoja ja jokaisessa merkkijonossa voi olla enintään 50
merkkejä (merkki mukaan lukien null
).
Ohjelmassa olemme käyttäneet kahta kirjastotoimintoa:
- strcmp () - vertaa merkkijonoja
- strcpy () - kopioida merkkijonot
Näitä toimintoja käytetään merkkijonojen vertaamiseen ja lajitteluun oikeassa järjestyksessä.