In Großbuchstaben umwandeln
Teil des Abschnitts Logic & Flow der C-Journey von Coddy — Lektion 23 von 63.
Aufgabe
EinfachErweitern Sie Ihr Text-Utility-Programm aus der vorherigen Lektion um eine Funktionalität zur Umwandlung in Großbuchstaben. Ihr Programm sollte:
- Den Benutzer auffordern, einen kurzen Satz einzugeben, indem es Folgendes ausgibt:
Enter a sentence:(kein Zeilenumbruch am Ende) - Ein Zeichen-Array namens
sentencemit 200 Elementen deklarieren, um die Eingabe zu speichern scanfmit dem Formatbezeichner%sverwenden, um ein einzelnes Wort vom Benutzer zu lesen- Das gespeicherte Wort im Format
You entered: [word]ausgeben strlen()verwenden, um die Gesamtzahl der Zeichen im Wort zu berechnen- Die Zeichenanzahl im Format
Character count: [count]ausgeben - Die Länge unter Verwendung von
strlen()im FormatLength: [length]ausgeben - Jedes Zeichen im Wort mithilfe einer Schleife durchlaufen, um die Vokale zu zählen
- Für jedes Zeichen prüfen, ob es ein Vokal (a, e, i, o, u) ist, sowohl in Kleinschreibung als auch in Großschreibung
- Eine laufende Zählung der gefundenen Vokale führen
- Die Vokalanzahl im Format
Vowel count: [count]ausgeben Uppercase:ausgeben und dann eine Schleife verwenden, um jedes Zeichen im Wort mithilfe der Funktiontoupper()in Großbuchstaben umzuwandeln und auszugeben
Denken Sie daran, den Header <string.h> einzubinden, um die Funktion strlen() zu verwenden, und den Header <ctype.h>, um die Funktion toupper() zu verwenden.
Über toupper():
Die Funktion toupper() aus <ctype.h> wandelt ein einzelnes Zeichen in sein Äquivalent in Großbuchstaben um. Wenn das Zeichen bereits ein Großbuchstabe ist oder kein Buchstabe ist, wird es unverändert zurückgegeben.
Beispiel: toupper('a') gibt 'A' zurück, und toupper('Z') gibt 'Z' zurück.
Sie können sie innerhalb einer Schleife verwenden, um jedes Zeichen einzeln umzuwandeln: printf("%c", toupper(sentence[i]));
Wichtig: Nach der Aufforderung Enter a sentence: sollte kein Zeilenumbruch folgen. Verwenden Sie printf("Enter a sentence: "); ohne \n.
Ihre Ausgabe sollte die Ergebnisse im folgenden Format anzeigen:
Enter a sentence: You entered: [word]
Character count: [count]
Length: [length]
Vowel count: [count]
Uppercase: [WORD]Wenn die Eingabe zum Beispiel wie folgt lautet:
ProgrammingSollte Ihre Ausgabe so aussehen:
Enter a sentence: You entered: Programming
Character count: 11
Length: 11
Vowel count: 3
Uppercase: PROGRAMMINGDiese Herausforderung baut auf der vorherigen Lektion auf, indem sie eine Funktionalität zur Umwandlung in Großbuchstaben unter Verwendung der Funktion toupper() aus der Bibliothek <ctype.h> hinzufügt. Sie müssen eine Schleife verwenden, um jedes Zeichen in der Zeichenkette zu durchlaufen, es in einen Großbuchstaben umzuwandeln und dann das transformierte Ergebnis auszugeben.
Probier es selbst
#include <stdio.h>
#include <string.h>
int main() {
printf("Enter a sentence: \n");
char sentence[200];
scanf("%s", sentence);
printf("You entered: %s\n", sentence);
int char_count = strlen(sentence);
printf("Character count: %d\n", char_count);
int length = strlen(sentence);
printf("Length: %d\n", length);
int vowel_count = 0;
for (int i = 0; i < strlen(sentence); i++) {
char c = sentence[i];
if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' ||
c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U') {
vowel_count++;
}
}
printf("Vowel count: %d\n", vowel_count);
return 0;
}Alle Lektionen in Logic & Flow
1Zeiger-Grundlagen
Was ist ein Zeiger?Zeiger deklarierenDer Adressoperator (&)Der Dereferenzierungsoperator (*)NULL-ZeigerZusammenfassung: Zeiger-Grundlagen4Projekt: Einfaches Text-Tool
ProjektübersichtZeichen zählen2Pointer und Arrays
Array-Namen als PointerArray-Elemente - PointerPointer-ArithmetikPointer vergleichenWiederholung: Array-Durchlauf mit Pointern5Zeiger und Funktionen
Wertübergabe (Pass-by-Value)Zeiger an Funktionen übergebenVariablen über Zeiger ändernEin klassisches Beispiel: SwapArrays an Funktionen übergebenZusammenfassung: Zeiger als Funktionsargumente8Structs und Zeiger
Zeiger auf StructsDer Pfeiloperator (->)Structs per Wert übergebenÜbergabe von Struct-ZeigernDynamische Allokation von StructsZusammenfassung: Struct ändern - Ptr11Finale Wiederholungsaufgaben
Wiederholung: Dynamische String-KonkatenationWiederholung: Array von StructsWiederholung: Wortfrequenz-Zähler3Character-Arrays und Strings
Strings als char-ArraysDer Null-TerminatorString-Eingabe mit scanfVerwendung von strlen()Verwendung von strcpy()Verwendung von strcat()Verwendung von strcmp()Zusammenfassung: Grundlegende String-Funktionen