Benutzer mit den meisten Antworten
C Programm - Leerzeichen zählen

Frage
-
Hallo,
ich arbeite an einen weiteren kleinen C-Projekt, welches in einem Satz die Leerzeichen zählen soll.
Mein bisheriger Code funktioniert nur für ganze Sätze d.h. es wird mir die Anzahl der gesamten Zeichen ausgegeben.
Wenn jemand weiß, wie der Code umgeschrieben werden müsste, damit nur die Anzahl der Leerzeichen ausgegeben wird, würde mir sehr weiterhelfen
DANKE !
CODE: Sprache C
#include <stdio.h> #include <stdlib.h> int main (void) { int c,counter=0; printf("Geben sie einen Satz ein:"); printf("\n"); while((c=getchar()) != '\n') { if( (c != '\t') ) counter++; } printf("Anzahl der Zeichen: %d Zeichen\n", counter); printf("\n"); system("pause"); return 0; }
Antworten
-
Hallo,
while((c=getchar()) != '\n') { if( c == 0x20 ) counter++; } printf("Anzahl der Leerzeichen: %d \n", counter); printf("\n");
Du kannst den Wert des gelesenen Zeichens mit dem ASCII-Wert des Leerzeichens vergleichen (in der while-Schleife) und wenn sie übereinstimmen, counter++ .
Grüße, Dimitar
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
- Bearbeitet Dimitar DenkovMicrosoft contingent staff, Administrator Mittwoch, 15. Oktober 2014 09:29
- Als Antwort vorgeschlagen Peter Kirmeier Donnerstag, 16. Oktober 2014 14:05
- Als Antwort markiert Aleksander Chalabashiev Mittwoch, 22. Oktober 2014 08:11
Alle Antworten
-
Hallo,
while((c=getchar()) != '\n') { if( c == 0x20 ) counter++; } printf("Anzahl der Leerzeichen: %d \n", counter); printf("\n");
Du kannst den Wert des gelesenen Zeichens mit dem ASCII-Wert des Leerzeichens vergleichen (in der while-Schleife) und wenn sie übereinstimmen, counter++ .
Grüße, Dimitar
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
- Bearbeitet Dimitar DenkovMicrosoft contingent staff, Administrator Mittwoch, 15. Oktober 2014 09:29
- Als Antwort vorgeschlagen Peter Kirmeier Donnerstag, 16. Oktober 2014 14:05
- Als Antwort markiert Aleksander Chalabashiev Mittwoch, 22. Oktober 2014 08:11
-
Hallo,
Hast Du das vorgeschlagene Verfahren ausprobiert? Ist das Zählen der Leerzeichen gelungen?
Grüße, Dimitar
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.