per I che va da 1 a 10
( stampare la tabellina per I
andare a capo )
secondo passoper 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è sono più grandi degli interi rappresentabili.
Versione compatta
#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
#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' gli 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){
printf("num =%d c = \'%c\'\n",num,c);
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 numeor 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
#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");
};
}