V tomto příkladu se naučíte odebrat všechny znaky z řetězce zadaného uživatelem kromě abeced.
Abychom pochopili tento příklad, měli byste mít znalosti o následujících programovacích tématech jazyka C:
- C pole
- C Programovací řetězce
- C pro smyčku
- C zatímco a dělat … zatímco Loop
Odebrat znaky v řetězci kromě abeced
#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ýstup
Zadejte řetězec: p2'r-o@gram84iz./ Výstupní řetězec: programiz
Tento program převezme od uživatele řetězcový vstup a uloží jej do proměnné řádku. Poté for
se k iteraci znaků řetězce použije smyčka.
Pokud znak v řetězci není abeceda, je z řetězce odstraněn a pozice zbývajících znaků je posunuta doleva o 1 pozici.