Σε αυτό το παράδειγμα, θα μάθετε να αφαιρείτε όλους τους χαρακτήρες από μια συμβολοσειρά που έχει εισαγάγει ο χρήστης εκτός από τα αλφάβητα.
Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες θεματολογίες προγραμματισμού Γ:
- C Πίνακες
- Χορδές προγραμματισμού C
- C για βρόχο
- C ενώ και κάνουμε… ενώ Loop
Κατάργηση χαρακτήρων σε συμβολοσειρά εκτός από αλφάβητα
#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; )
Παραγωγή
Πληκτρολογήστε μια συμβολοσειρά: p2'r-o@gram84iz./ Συμβολοσειρά εξόδου: programiz
Αυτό το πρόγραμμα λαμβάνει μια συμβολοσειρά από τον χρήστη και αποθηκεύει στη μεταβλητή γραμμής. Στη συνέχεια, χρησιμοποιείται ένας for
βρόχος για την επανάληψη χαρακτήρων της συμβολοσειράς.
Εάν ο χαρακτήρας σε μια συμβολοσειρά δεν είναι αλφάβητο, αφαιρείται από τη συμβολοσειρά και η θέση των υπόλοιπων χαρακτήρων μετατοπίζεται προς τα αριστερά κατά 1 θέση.