Šiame pavyzdyje išmoksite pašalinti visus simbolius iš vartotojo įvestos eilutės, išskyrus abėcėles.
Norėdami suprasti šį pavyzdį, turėtumėte žinoti šias C programavimo temas:
- C masyvai
- C programavimo eilutės
- C kilpai
- C kol ir daryk … kol kilpa
Pašalinti simbolius eilutėse, išskyrus abėcėles
#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; )
Rezultatas
Įveskite eilutę: p2'r-o@gram84iz./ Išvesties eilutė: programiz
Ši programa paima eilutę iš vartotojo ir saugo eilutės kintamajame. Tada for
kilpa naudojama kartojant eilutės simbolius.
Jei eilutėje esantis simbolis nėra abėcėlė, jis pašalinamas iš eilutės, o likusių simbolių padėtis perkeliama į kairę 1 pozicija.