Ho appena iniziato a programmare in c, ho problemi con la condizione if

di Anonimizzato23575 il
3 risposte
Sono nuova, scusate se sto sbagliando qualcosa nel porre questa domanda (tipo sezione ecc.).

Ho appena iniziato la programmazione in C, mi è stato richiesto di creare un programma che ordini restituisca il maggiore, il minore e la media tra 5 voti (si parla quindi di variabili float).
Ho iniziato in questo modo, ma vedendo che mi dava già degli errori non sono andata avanti.
Questo è ciò che ho fatto per ora, il problema è che quando arrivo all'if, nella condizione vera avrei bisogno di porre altre condizioni in quanto se a è il maggiore il minore potrebbe essere uno degli altri 4. L'errore è che mi dice che gli else che metto nella condizione vera non sono preceduti da degli if (else without a previous if).
#include <stdio.h>

int main()
{
    #define C 5

    float a=0;
        printf("inserisci il valore di a %f",a);
        scanf("%f",&a);
    float b=0;
        printf("inserisci il valore di b %f",b);
        scanf("%f",&b);
    float c=0;
        printf("inserisci il valore di c %f",c);
        scanf("%f",&c);
    float d=0;
        printf("inserisci il valore di d %f",d);
        scanf("%f",&d);
    float f=0;
        printf("inserisci il valore di f %f",f);
        scanf("%f",&f);
    float massimo=0;
    float minimo=0;
    float media=0;

    if (a>b && a>c && a>d && a>f);
    {
            if (b<c && b<d && b<d);
                minimo=b;
                printf("il voto minimo e/' %f", minimo);
                massimo=a;
                printf("il valore massimo e/' %f", massimo);
            else if (c<b && c<d && c<f);
                minimo=c;
                printf("il voto minimo e/' %f", minimo);
                massimo=a;
                printf("il valore massimo e/' %f",massimo);
Il programma dovrebbe andare avanti, ma appunto già fin qui mi dà problemi con le condizioni

3 Risposte

  • Devi usare i tag CODE per postare il codice, altrimenti il codice risulta confuso.

    Comunque, devi anche dire se puoi usare cicli, per facilitare il compito.
  • No, non posso usare cicli
  • Allora ... l'approccio che devi seguire è questo

    Accetti in input il primo valore con una variabile x
    Assegni il valore di x alle variabili max e min
    Accetti in input il secondo valore, usando la stessa variabile x
    Confronti x con min e max in modo da cambiare min e max se x è minore di min e/o x è maggiore di max
    (Fai queste ultimi passi altre tre volte)
    Alla fine avrai in min e max quello che cercavi

    Per quanto riguarda la media, basta che azzeri all'inizio una variabile tot
    Aggiungi x a tot ogni volta che esegui l'input
    Visualizzi alla fine tot/5
Devi accedere o registrarti per scrivere nel forum
3 risposte