Aufgabe: Länge einer Zeichenkette bestimmen
Schreibe ein Programm, das den Benutzer mit scanf() nach einem Wort fragt und die Länge des eingegebenen Wortes mit strlen() ausgibt.
Musterlösung: Länge einer Zeichenkette bestimmen
#include <stdio.h>
#include <string.h>
int main(void) {
char wort[50];
printf("Gib ein Wort ein: ");
scanf("%49s", wort);
printf("Das Wort '%s' hat %zu Zeichen.\n", wort, strlen(wort));
return 0;
}
Aufgabe: Zwei Wörter vergleichen
Vergleiche zwei eingegebene Wörter mit strcmp() und gib aus, ob sie gleich sind oder nicht.
Musterlösung: Zwei Wörter vergleichen
#include <stdio.h>
#include <string.h>
int main(void) {
char wort1[50], wort2[50];
printf("Gib das erste Wort ein: ");
scanf("%49s", wort1);
printf("Gib das zweite Wort ein: ");
scanf("%49s", wort2);
if (strcmp(wort1, wort2) == 0)
printf("Die Woerter sind gleich.\n");
else
printf("Die Woerter sind verschieden.\n");
return 0;
}
Aufgabe: Namen kopieren
Lege zwei Zeichenketten an. Kopiere mit strcpy() den Inhalt von name1 nach name2 und gib beide aus.
Musterlösung: Namen kopieren
#include <stdio.h>
#include <string.h>
int main(void) {
char name1[] = "Peter";
char name2[20];
strcpy(name2, name1);
printf("Name1: %s\nName2: %s\n", name1, name2);
return 0;
}
Aufgabe: Satz zusammenbauen
Verwende strcat(), um aus drei Wörtern einen Satz zu bauen, z. B. „Programmieren macht Spass!“.
Musterlösung: Satz zusammenbauen
#include <stdio.h>
#include <string.h>
int main(void) {
char satz[50] = "Programmieren";
strcat(satz, " macht ");
strcat(satz, " Spass!");
printf("%s\n", satz);
return 0;
}
Aufgabe: Zeichen in einem Text suchen
Frage den Benutzer nach einem Text und einem Zeichen. Suche mit strchr() das erste Vorkommen des Zeichens und gib die Position aus.
Musterlösung: Zeichen in einem Text suchen
#include <stdio.h>
#include <string.h>
int main(void) {
char text[100];
char zeichen;
printf("Gib einen Text ein: ");
scanf(" %99[^\n]", text);
printf("Welches Zeichen soll gesucht werden? ");
scanf(" %c", &zeichen);
char *pos = strchr(text, zeichen);
if (pos)
printf("Das Zeichen '%c' steht an Position %ld.\n", zeichen, pos - text);
else
printf("Das Zeichen '%c' wurde nicht gefunden.\n", zeichen);
return 0;
}
Aufgabe: Wort in einem Satz finden
Verwende strstr(), um in einem Satz nach einem bestimmten Wort zu suchen und gib die Position aus.
Musterlösung: Wort in einem Satz finden
#include <stdio.h>
#include <string.h>
int main(void) {
char satz[] = "Das Programm in C macht Spass.";
char wort[] = "C";
char *pos = strstr(satz, wort);
if (pos)
printf("Das Wort '%s' wurde gefunden an Position %ld.\n", wort, pos - satz);
else
printf("Das Wort '%s' wurde nicht gefunden.\n", wort);
return 0;
}
Aufgabe: Wörter alphabetisch vergleichen
Frage zwei Wörter ab und gib mit strcmp() aus, welches im Alphabet zuerst steht.
Musterlösung: Wörter alphabetisch vergleichen
#include <stdio.h>
#include <string.h>
int main(void) {
char wort1[50], wort2[50];
printf("Gib das erste Wort ein: ");
scanf("%49s", wort1);
printf("Gib das zweite Wort ein: ");
scanf("%49s", wort2);
int ergebnis = strcmp(wort1, wort2);
if (ergebnis < 0)
printf("'%s' steht vor '%s'.\n", wort1, wort2);
else if (ergebnis > 0)
printf("'%s' steht nach '%s'.\n", wort1, wort2);
else
printf("Beide Woerter sind gleich.\n");
return 0;
}
Aufgabe: Zeichen zählen bis bestimmtes Zeichen
Zähle, wie viele Zeichen in einem String stehen, bis ein bestimmtes Zeichen (z. B. ein Leerzeichen) erreicht ist.
Musterlösung: Zeichen zählen bis bestimmtes Zeichen
#include <stdio.h>
#include <string.h>
int main(void) {
char text[] = "C ist cool!";
char *pos = strchr(text, ' ');
int anzahl;
if (pos)
anzahl = pos - text;
else
anzahl = strlen(text);
printf("Bis zum ersten Leerzeichen stehen %d Zeichen.\n", anzahl);
return 0;
}