C programiranje - nizovi znakova - zadatci #2

C programiranje nizovi znakova - zadatak 1

Učitavati znakove dok se učitavaju znamenke brojeva. Koliko je znamenki učitano?

#include <stdio.h>

void main() {
    char r;
    int brojac=0;

    printf("\nUčitaj znak:");
    scanf(" %c", &r);

    while(r>='0' && r<='9') {
        brojac++;
    
        printf("\nUcitaj znak:");
        scanf(" %c", &r);
    }

    printf("\nUčitano je %d znamenki brojeva", brojac);
    
    return;
}

Web dizajn i programiranje

C programiranje nizovi znakova - zadatak 2

Učitavati znakove dok se učitavaju velika slova. Koliko je znakova učitano i koliki je zbroj njihovih ASCII kodova?

#include <stdio.h>

void main() {
    char r;
    int brojac=0, zbroj=0;

    printf("\nUcitaj znak:");
    scanf(" %c", &r);

    while(r>='A' && r<='Z') {
        brojac++;
        zbroj = zbroj + r;
    
        printf("\nUcitaj znak:");
        scanf(" %c", &r);
    }
    
    printf("\nUčitano je %d znakova, zbroj ASCII=%d", brojac, zbroj);
    
    return;
}

C programiranje nizovi znakova - zadatak 3

Učitavati riječi dok su kraće od 7 znakova. Koliko je riječi učitano?

#include <stdio.h>
#include <string.h>

void main() {
    char r[100];
    int n, brojac=0;
    
    printf("\nUčitaj riječ:");
    scanf("%s", &r[0]); 
    n=strlen(r);

    while(n<7) {
        brojac++;
    
        printf("\nUčitaj riječ:");
        scanf("%s", &r[0]);
        n = strlen(r);
    }
    
    printf("\nUčitano je %d riječi < 7 slova", brojac);

    return;
}

C programiranje nizovi znakova - zadatak 4

Učitavati riječi dok su dulje od 4 znaka. Koliko je riječi učitano i kolika je njihova prosječna duljina?

#include <stdio.h>
#include <string.h>

void main() {
    char r[100];
    int n, brojac=0, zbroj=0;
    float ars;

    printf("\nUčitaj riječ:");
    scanf("%s", &r[0]);
    n = strlen(r);

    while(n>4){
        brojac++;
        zbroj=zbroj+n;
        
        printf("\nUcitaj rijec:");
        scanf("%s", &r[0]);
        n = strlen(r);
    }
    
    if(brojac != 0) {
        ars=(float) zbroj/brojac;
        printf("\nOd %d rijeci, prosjek je %.2f", brojac, ars);
    }
    
    return;
}

C programiranje nizovi znakova - zadatak 5

Učitati rečenicu. Ako je izjavna - ispisati 1. riječ iz rečenice, ako je upitna - ispisati svaku riječ u novi redak a ako je usklična - ispisati "Rečenica je usklična".

#include <stdio.h>
#include <string.h>

void main() {
    char r[100];
    int n, i;

    printf("\nUčitaj rečenicu:");
    gets(r);
    n = strlen(r);

    if(r[n-1] == '.') {
        i = 0;
        while (r[i] != ' ' && i < n) {
            printf("%c", r[i]);
            i++;
        }
    }
    if(r[n-1] == '?')
        for (i = 0; i < n - 1; i++)
            if (r[i] != ' ')      
                printf("%c", r[i]);
            else    
                printf("\n");
    
    if(r[n-1] == '!')
        printf("\nRečenica je usklična!");
    
    return;
}

C programiranje nizovi znakova - zadatak 6

Učitati rečenicu. Ispisati drugu riječ iz rečenice.

#include <stdio.h>
#include <string.h>

void main() {
    char r[100];
    int n,i=0;

    printf("\nUčitaj rečenicu:");
    gets(r);
    n = strlen(r);

    while(r[i]!=' ' && i<n)
        i++;
    
    i++;

    while(r[i]!=' ' && i<n) {
        printf("%c", r[i]);
        i++;
    }

    return;
}

C programiranje nizovi znakova - zadatak 7

Učitati rečenicu i ispisati koliko slova ima najduža riječ.

#include <stdio.h>
#include <string.h>

void main() {
    char r[100];
    int n, i, j, broj=1, pocetak, max=0;

    printf("\nUčitaj rečenicu:");
    gets(r);
    n = strlen(r);

    for (i=0; i<n; i++) {
        if(r[i]==' ' && i!=n-1)
            broj++;
    }

    pocetak = 0;

    for (i=1; i<=broj; i++) {
        j=0;
        while (r[pocetak+j] != ' ' && pocetak+j != n)
            j++;

        if (j > max)
            max = j;

        pocetak = pocetak + j + 1;
    }

    printf("Najduža riječ ima %d slova", max);

    return;
}