Einführung
In diesem Lab lernst du, wie du ein C-Programm schreibst, um einen gegebenen String umzukehren. Das Programm nimmt Eingaben vom Benutzer entgegen, kehrt den String um und gibt das Ergebnis an der Konsole aus. Dieses Konzept kann verwendet werden, um zu überprüfen, ob ein String ein Palindrom ist, da ein Palindrom-String auch nach der Umkehrung den gleichen Wert hat.
Hinweis: Du musst die Datei
~/project/main.cselbst erstellen, um zu üben, Programmcode zu schreiben und zu lernen, wie du es mit gcc kompilierst und ausführst.
cd ~/project
## main.c erstellen
touch main.c
## main.c kompilieren
gcc main.c -o main
## main ausführen
./main
Variablen deklarieren und Eingaben vom Benutzer lesen
#include <stdio.h>
#include <string.h>
int main() {
char str[1000], rev[1000];
int i, j, count = 0;
printf("Enter a string: ");
scanf("%s", str);
In diesem Schritt deklarieren wir zwei Zeichenfolgenarrays str und rev sowie drei ganzzahlige Variablen i, j und count. str wird verwendet, um die ursprüngliche Zeichenfolge, die der Benutzer eingegeben hat, zu speichern, und rev wird verwendet, um die umgekehrte Zeichenfolge zu speichern. count wird verwendet, um die Länge der Zeichenfolge zu verfolgen. Anschließend fordern wir den Benutzer auf, eine Zeichenfolge einzugeben, indem wir printf verwenden, und lesen sie mit scanf ein.
Länge der Zeichenfolge berechnen
while (str[count]!= '\0') {
count++;
}
j = count - 1;
In diesem Schritt verwenden wir eine while-Schleife, um die ursprüngliche Zeichenfolge zu durchlaufen, bis ein Nullzeichen \0 erreicht wird. In jeder Iteration erhöhen wir die Variable count, um die Anzahl der Zeichen in der Zeichenfolge zu zählen. Anschließend weisen wir den Wert von count - 1 der Variable j zu, da Arrays bei Index 0 beginnen und wir möchten, dass j der Index des letzten Zeichens in der ursprünglichen Zeichenfolge ist.
Die Zeichenfolge umkehren
for (i = 0; i < count; i++) {
rev[i] = str[j];
j--;
}
printf("Reversed string: %s\n", rev);
In diesem Schritt verwenden wir eine for-Schleife, um die ursprüngliche Zeichenfolge zu iterieren. In jeder Iteration weisen wir das Zeichen am Index j der ursprünglichen Zeichenfolge dem entsprechenden Index i in der umgekehrten Zeichenfolge zu. Anschließend verringern wir j und wiederholen den Prozess, bis wir die gesamte Zeichenfolge umgekehrt haben. Schließlich geben wir die umgekehrte Zeichenfolge an der Konsole aus, indem wir printf verwenden.
Vollständiger Code
#include <stdio.h>
#include <string.h>
int main() {
char str[1000], rev[1000];
int i, j, count = 0;
printf("Enter a string: ");
scanf("%s", str);
while (str[count]!= '\0') {
count++;
}
j = count - 1;
for (i = 0; i < count; i++) {
rev[i] = str[j];
j--;
}
printf("Reversed string: %s\n", rev);
return 0;
}
Zusammenfassung
In diesem Lab haben Sie gelernt, wie Sie ein C-Programm schreiben, um eine gegebene Zeichenfolge umzukehren. Sie haben gelernt, wie Sie die Länge einer Zeichenfolge mit einer while-Schleife berechnen und wie Sie eine Zeichenfolge mit einer for-Schleife und einer Indexvariablen umkehren. Das Schreiben von Programmen zur Manipulation von Zeichenfolgen ist eine wichtige Fähigkeit in der C-Programmierung, und indem Sie sie beherrschen, können Sie viele nützliche Aufgaben erledigen.



