per I che va da 1 a 10 ( stampare la tabellina per I andare a capo )secondo passo
per I che va da 1 a 10 ( per J ch va da 1 a 10 ( stampare I * J stampare uno spazio ) andare a capo )Il programma è
#include <stdio.h> main() { int I, J; /* per I che va da 1 a 10*/ for( I = 1 ; I <= 10 ; I = J + 1 ){ /* per J che va da 1 a 10*/ for( J = 1 ; J <= 10 ; J = J + 1 ) /* stampare I * J stampare uno spazio*/ printf("%3d ", I*J); /* andare a capo*/ printf("\n"); } }
L'algoritmo scritto in pseudo-codice è
PENULTIMO <- 0 ; stampa PENULTIMO ; ULTIMO <- 1 stampa ULTIMO ; per i che va da 2 a 100 ( F <- ULTIMO + PENULTIMO ; stampa F PENULTIMO <- ULTIMO ; ULTIMO <- F ; )Il programma è
#include <stdio.h> main() { int ultimo, penultimo, i, f; penultimo = 0 ; printf("%d\n",penultimo); ultimo = 1 ; printf("%d\n",ultimo); for( i = 2 ; i <= 100 ; i = i + 1 ){ f = ultimo + penultimo; printf("%d\n", f); penultimo = ultimo; ultimo = f; } }Notare che non è possibile stampare effettivamente 100 numeri, poichè sicuramente tra i primi cento numeri di Fibonacci vi sono sicuramentenumeri maggiori degli interi del tipo C int.
Versione compatta, utilizzando i costrutti peculiari del C.
#include <stdio.h> main() { int ultimo = 1, penultimo = 0, i, f; printf("0\n1\n"); for( i = 2 ; i <= 10 ; i++){ f = ultimo + penultimo; penultimo = ultimo; printf("%d\n", ultimo = f); } }
#include <stdio.h> /*controllare se tra i caratteri ricevuti in input sono di piu' gli spazi o gli altri*/ main() { int spazi, altri; char c; spazi = 0; altri = 0; c = getchar(); while(c != EOF){ if(c == ' ') spazi = spazi + 1; else altri = altri + 1; c = getchar(); }; if(spazi > altri) printf("Piu\' spazi"); else printf("Piu\' altri caratteri"); }Versione compatta, utilizzando i costrutti peculiari del C.
#include <stdio.h> /*controllare se tra i caratteri ricevuti in input sono di piu' gli spazi o gli altri*/ main() { int spazi = 0, altri = 0; char c; while((c = getchar()) != EOF) if(c == ' ') spazi++; else altri++; if(spazi > altri) printf("Piu\' spazi"); else printf("Piu\' altri caratteri"); }
#include <stdio.h> /*controllare se tra i numeri ricevuti in input sono di piu' i pari o i dispari*/ /*dare i numeri separandoli con esattamente uno spazio o un fine linea*/ /*terminare con EOF*/ main() { int pari, dispari, num; char c; pari = 0; dispari = 0; scanf("%d%c", &num, &c); while(c != EOF){ if(num % 2 == 0) pari = pari + 1; else dispari = dispari +1; scanf("%d%c", &num, &c); }; if(pari > dispari) printf("\nPiu\' pari"); else printf("\nPiu\' dispari"); }
read NUM E_PRIMO <- VERO DIV_COR <- 2 while(DIV_COR < NUM and E_PRIMO) do ( if NUM e' divisibile per DIV_COR then E_PRIMO <- FALSE else DIV_COR <- DIV_COR +1 ) if E_PRIMO then write("il numero e' primo) else write("il numero non e' primo");Il programma è
#include <stdio.h> #include <math.h> /*Controlla se un numero e' primo*/ main() { int num, div_cor, e_primo; printf("Dare il numero da controllare e poi andare a capo\n"); scanf("%d",&num); div_cor = 2; e_primo = 1; /*vero*/ if(num < 0) printf("Il numero doveva essere positivo\n"); else{if(num >1) while(div_cor < num && e_primo) if(num % div_cor != 0) div_cor = div_cor +1; else e_primo = 0; /*falso*/ if(e_primo) printf("Il numero %d e\' primo,\n",num); else printf("Il numero %d non e\' primo,\n",num); }; }Versione compatta, utilizzando i costrutti peculiari del C.
#include <stdio.h> #include <math.h> #define FALSE 0 #define TRUE 1 /*Controlla se un numero e' primo*/ main() { int num, div_cor = 2, e_primo = FALSE; printf("Dare il numero da controllare e poi andare a capo\n"); scanf("%d",&num); if(num < 0) printf("Il numero doveva essere positivo\n"); else{if(num >1) while(div_cor < num && e_primo) if(num % div_cor != 0) div_cor++; else e_primo = FALSE; printf("Il numero %d %s e\' primo,\n",num,e_primo ? "": "non"); }; }
ESERCIZI
Scrivere un programma C che