V tomto príklade sa naučíte odstraňovať všetky znaky z reťazca zadaného používateľom okrem abecedy.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku C:
- C polia
- C Programovacie reťazce
- C pre slučku
- C kým a robiť … zatiaľ čo Loop
Odstráňte znaky v reťazci okrem abecedy
#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; )
Výkon
Zadajte reťazec: p2'r-o@gram84iz./ Výstupný reťazec: programiz
Tento program prevezme od používateľa reťazcový vstup a uloží ho do premennej riadku. Potom sa použije for
slučka na iteráciu znakov reťazca.
Ak znak v reťazci nie je abeceda, odstráni sa z reťazca a pozícia zvyšných znakov sa posunie doľava o 1 pozíciu.