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!!!!!