Scrivere un programma C che stampa le tabelline.
Sviluppo top-down del programma; primo passo:
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");
    }
}

Scrivere un programma C che stampa i primi 100 numeri di Fibonacci
Ricordiamo che la successione dei numeri di Fibonacci è definita come segue:
F(0) = 0
F(1) = 1
F(n) = F(n-1) + F(n-2)     per n > 1.

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);
    }
}

Scrivere un programma per controllare se tra i caratteri ricevuti in input sono di più gli spazi o gli altri.
#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");
    
}

Scrivere un programma C per controllare se tra i numeri ricevuti in input sono di piu' gli i pari o i dispari.
#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");
    
}

Scrivere un programma C per controllare se un numero e' primo.
L'algoritmo scritto in pseudo-codice è
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");
        };
}