Dubbio du questo programma in c
salve sto partendo dalle basi per imparare a utilizzare il linguaggio c e sto svolgendo questo esercizio
scrivere un algoritmo che :
-definisce 4 variabili intere x,y,z,k
-legge due numeri in x e y da input
-assegna a z il più piccolo
-assegna a k il doppio di z
-visualizza in output z , k e il quadrato di x
io l'ho svolto così ma non sono siscuro , sbaglio qualcosa?
grazie in anticipo!
scrivere un algoritmo che :
-definisce 4 variabili intere x,y,z,k
-legge due numeri in x e y da input
-assegna a z il più piccolo
-assegna a k il doppio di z
-visualizza in output z , k e il quadrato di x
io l'ho svolto così ma non sono siscuro , sbaglio qualcosa?
#include <stdio.h> #include <stdlib.h> int main(){ int x , y , z, k ,c ; printf ("inserisci un numero:"); scanf ("%d", &x); printf("inserisci un numero:"); scanf("%d" , &y); z=c; if (x<z) { x=c; z=x; c=z; } if (y<z){ y=c; z=y; c=z; } k=2*z; printf("z vale: %d\n" , z); printf("k vale :%d\n" , k); printf ("x vale : %d\n", x*x); return 0; }
grazie in anticipo!
Risposte
Mi sembra tutto corretto tranne il terzo punto. In quel punto c'è un errore grave: usare una variabile non inizializzata. Tra l'altro il codice corretto era incredibilmente più corto. Hai anche incluso una libreria inutile: stdlib (non la usi da nessuna parte) ma questo è il meno.
Per fare quel punto devi usare un if seguito da un else e nessuna variabile di supporto.
Per fare quel punto devi usare un if seguito da un else e nessuna variabile di supporto.
effettivamente mi sono complicato la vità basta porre che se x è minore di di z , z sarà uguale e a x o di conseguenza uguale a y
spero di non aver fatto altri errori , grazie per l'aiuto
#include <stdio.h> int main(){ int x , y , z, k ; printf ("inserisci un numero:"); scanf ("%d", &x); printf("inserisci un numero:"); scanf("%d" , &y); if (x<z) z=x; else z=y; k=2*z; printf("z vale: %d\n" , z); printf("k vale :%d\n" , k); printf ("x vale : %d\n", x*x); return 0; }
spero di non aver fatto altri errori , grazie per l'aiuto
C'è un errore nella condizione dell'if
Continui ad usare una variabile non inizializzata.
Pensa bene a che confronto devi fare per capire qual è il più piccolo valore tra quelli inseriti.
Continui ad usare una variabile non inizializzata.
Pensa bene a che confronto devi fare per capire qual è il più piccolo valore tra quelli inseriti.
così è giusto? ho modificato il valore nell'if dicendo così che tra i due valori che inserisco x e y ,se x è minore di y ,z avrà il valore di x , in caso contrario avrà il valore di y
grazie per l'aiuto
#include <stdio.h> int main(){ int x , y , z, k ; printf ("inserisci un numero:"); scanf ("%d", &x); printf("inserisci un numero:"); scanf("%d" , &y); if (x<y) z=x; else z=y; k=2*z; printf("z vale: %d\n" , z); printf("k vale :%d\n" , k); printf ("x vale : %d\n", x*x); return 0; }
grazie per l'aiuto
Adesso mi sembra corretto.
perfetto grazie mille!!!!!