W tym przykładzie nauczysz się usuwać wszystkie znaki z ciągu wprowadzonego przez użytkownika, z wyjątkiem alfabetów.
Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania w C:
- C Arrays
- C ciągi programowania
- C jak pętla
- C while i zrób… while Loop
Usuń znaki w ciągu z wyjątkiem alfabetów
#include int main() ( char line(150); printf("Enter a string: "); fgets(line, sizeof(line), stdin); // take input for (int i = 0, j; line(i) != ' '; ++i) ( // enter the loop if the character is not an alphabet // and not the null character while (!(line(i)>= 'a' && line(i) = 'A' && line(i) <= 'Z') && !(line(i) == ' ')) ( for (j = i; line(j) != ' '; ++j) ( // if jth element of line is not an alphabet, // assign the value of (j+1)th element to the jth element line(j) = line(j + 1); ) line(j) = ' '; ) ) printf("Output String: "); puts(line); return 0; )
Wynik
Wpisz ciąg: p2'r-o@gram84iz./ Output String: programiz
Ten program pobiera ciąg znaków wejściowych od użytkownika i przechowuje w zmiennej linii. Następnie for
pętla jest używana do iteracji po znakach ciągu.
Jeśli znak w ciągu nie jest alfabetem, jest usuwany z ciągu, a pozycja pozostałych znaków jest przesuwana w lewo o 1 pozycję.