В този пример ще се научите да сортирате 5 низа, въведени от потребителя в лексикографския ред (ред на речника).
За да разберете този пример, трябва да имате познанията по следните теми за програмиране на C:
- C Многомерни масиви
- 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 програмиране JavaScript Java C програмиране C ++ програмиране В лексикографския ред: C програмиране C ++ програмиране Java JavaScript R програмиране
За да се реши тази програма, се създава двуизмерен низ с име str. Низът може да съдържа максимум 5
низове и всеки низ може да има максимум 50
символи (включително null
символа).
В програмата използвахме две библиотечни функции:
- strcmp () - за сравняване на низове
- strcpy () - за копиране на низове
Тези функции се използват за сравняване на низове и сортирането им в правилния ред.