Zliczanie występowania litery

0

Cześć, chcę napisać prosty program, który po wpisaniu liter a, b lub c będzie zliczał ile razy występowała. Jeśli wpisana litera będzie różna od poprzednich to będzie zliczana ilość wystąpień innych liter niż a, b, c, e. Jednak w poniższym programie mimo wpisania np. a ilość wystąpień dodawana jest do zmiennej a ale również do zmiennej r. Doszedłem do tego, że jeśli wpiszę jakąś literę np. a to drukowane jest s=a ale również w nowej linijce s=. Czy może ktoś widzi gdzie jest błąd bo nie mogę go znaleźć.

#include <stdio.h>

int main(){
    char s;
    int a = 0;
    int b = 0;
    int c = 0;
    int r = 0;
    
    while (scanf("%c", &s))
    {
        
        printf("s=%c\n", s);
        
        if (s == 'e')
        {
            break;
        }    
            
        switch(s)
        {
            case 'a':
            a++;
            break;
            case 'b':
            b++;
            break;
            case 'c':
            c++;
            break;
            default:
            r++;
            break;
        }
    }
    printf("%d %d %d %d", a,b,c,r);
}

0

Smutne, ale naprawdę nie wiem o co chodzi, mógłbyś dokładniej wyjasnić?

0

Wypisujesz nowa linie. ( ktora odczytales )

0

Dokładne polecenie do zadania jest takie:

Napisz nieskończoną pętlę wczytującą wprowadzane z klawiatury przez użytkownika znaki tak, aby zliczał wystąpienia liter: a, b, c - każdej osobno oraz
wszystkich pozostałych znaków razem - do momentu podania znaku 'e'.

Jak odpalę ten program, który wcześniej wrzuciłem to zachowuje się tak jak na zdjęciu. Czyli po wpisaniu litery a dodaje do zmiennej inkrementuje zmienną a ale też zmienną r, która powinna zliczać tylko znaki różne od a, b, c, e.
screenshot-20231107224323.png

2

ZLICZASZ NOWA LINIE.

2

Google: "read a single character C", chwila grzebania na stacku: https://stackoverflow.com/a/14419972

Na 100% byś znalazł - polecam się nauczyć googlować bo to podstawowa umiejętność programisty:

https://godbolt.org/z/4hKd8eEfP

1 użytkowników online, w tym zalogowanych: 0, gości: 1