Aiuto con Esercizio di Programmazione1
Salve...ho iniziato da poco a studiare queste cose e non so muovermi bene con il linguaggio C. Cmq il mio esercizio dice: "Utilizzando il diagramma di flusso realizzare l’algoritmo per determinare se un numero è primo e poi
implementare in C: l’utente inserisce un intero N da tastiera e il programma determina se primo o no rispondendo a video ".Ho realizzato il diagramma di flusso(seguendo l'istruzione IF/ELSE)...ma il mio problema nasce con l'implementazione in C che sbaglio. Ho scritto così :
#include
int main(void)
{
int n;
int a=2;
printf("Inserire un intero N:");
scanf("%d,&n");
if((n&a)==0) printf("Il numero N non e' primo\n",n,a);
else
if(++a==n) printf("Il numero N e' primo",n,a);
}
CHI MI CORREGGE L'ESERCIZIO??? Non so proprio dove ho sbagliato perchè,ripeto,che sono cose che non ho mai fatto prima.
Grazie a tutti in anticipo!
NB.Posso utilizzare unicamente le istruzione printf,scanf,if,if/else)
Aggiunto 21 ore 38 minuti più tardi:
Per fare il ciclo dovrei usare l'istruzione WHILE?
Aggiunto 3 minuti più tardi:
Ho risolto...mi è bastato togliere i due apici a cui facevi riferimento e togliere a e n nella printf...!! Il programma mi funziona! Grazie mille...!! =)
Aggiunto 2 minuti più tardi:
Scusami...Come faccio a scrivere che il resto della divisione tra a e n non è uguale a 0?? cioè come negare a%n==0???
implementare in C: l’utente inserisce un intero N da tastiera e il programma determina se primo o no rispondendo a video ".Ho realizzato il diagramma di flusso(seguendo l'istruzione IF/ELSE)...ma il mio problema nasce con l'implementazione in C che sbaglio. Ho scritto così :
#include
int main(void)
{
int n;
int a=2;
printf("Inserire un intero N:");
scanf("%d,&n");
if((n&a)==0) printf("Il numero N non e' primo\n",n,a);
else
if(++a==n) printf("Il numero N e' primo",n,a);
}
CHI MI CORREGGE L'ESERCIZIO??? Non so proprio dove ho sbagliato perchè,ripeto,che sono cose che non ho mai fatto prima.
Grazie a tutti in anticipo!
NB.Posso utilizzare unicamente le istruzione printf,scanf,if,if/else)
Aggiunto 21 ore 38 minuti più tardi:
Per fare il ciclo dovrei usare l'istruzione WHILE?
Aggiunto 3 minuti più tardi:
Ho risolto...mi è bastato togliere i due apici a cui facevi riferimento e togliere a e n nella printf...!! Il programma mi funziona! Grazie mille...!! =)
Aggiunto 2 minuti più tardi:
Scusami...Come faccio a scrivere che il resto della divisione tra a e n non è uguale a 0?? cioè come negare a%n==0???
Risposte
I doppi apici nello scanf vanno posizionati in questo modo:
Non serve che tu metta ,n,a perchè nel comando printf non stampi i valori. Inoltre n&a non credo sia corretto, forse intendevi n%a.
Per quanto riguarda il programma io credo si debba utilizzare un ciclo.
Se hai dubbi sono a disposizione.
Aggiunto 3 ore 59 minuti più tardi:
Aggiunto 35 minuti più tardi:
Il codice che hai scritto funziona per tutti i numeri anche senza un ciclo?
scanf("%d",&n ) ;
Non serve che tu metta ,n,a perchè nel comando printf non stampi i valori. Inoltre n&a non credo sia corretto, forse intendevi n%a.
if((n&a)==0) printf("Il numero N non e' primo\n" ) ;
Per quanto riguarda il programma io credo si debba utilizzare un ciclo.
Se hai dubbi sono a disposizione.
Aggiunto 3 ore 59 minuti più tardi:
scrivi a%n!=0
Aggiunto 35 minuti più tardi:
Il codice che hai scritto funziona per tutti i numeri anche senza un ciclo?