Proglab 2 – Somma numeri

Proglab 1 – Calcolo del fattoriale di un numero
Il fattoriale di un numero naturale n è definito iterativamente come
segue:
n! = 1 x 2 x 3 x 4 x ……. x (n-1) x n
Ad esempio, 5! = 1 x 2 x 3 x 4 x 5 = 120
#include <stdio.h>
#include <stdlib.h>
main()
{
int n, fat, i;
fat = 1;
printf("digita il numero di cui vuoi il fattoriale: ");
scanf("%d", &n);
for (i = 1; i <= n; i++)
fat = fat * i;
printf("il fattoriale di %d e' %d\n\n", n, fat);
system ("pause");
return(0);
}
Prog 2 – Prodotto interi in un intervallo
Letti due numeri interi n1 e n2 (n1  n2), stampare il prodotto:
n1 * (n1 +1) * (n1 +2) * . . . * n2
Ad esempio, se n1 = 3 e n2 = 6 calcoliamo:
3 x 4 x 5 x 6 = 360
#include <stdio.h>
#include <stdlib.h>
main()
{
int i, p, n1, n2;
printf("digita n1 e n2: ");
scanf(" %d%d", &n1, &n2);
p = 1;
for (i = n1; i <= n2; i++)
p = p * i;
printf("il prodotto = %d\n", p);
system ("pause");
return(0);
}
Proglab 3 – Somma numeri interi
Vengono letti n numeri interi e viene stampata la loro somma.
Ad esempio, se n = 4 e i numeri sono: -5, 3, -23, 7
abbiamo il risultato -18
#include <stdio.h>
#include <stdlib.h>
main()
{
int i, x, n, somma=0;
printf("quanti numeri ? ");
scanf("%d", &n);
printf("digita %d numeri interi: ", n);
for (i=1; i<=n; i++) {
scanf("%d", &x);
somma = somma + x;
}
printf("la somma dei numeri e' %d\n\n", somma);
system ("pause");
return(0);
}
Proglab 4 – Massimo e minimo di interi
Letti n numeri interi individuare e stampare il massimo e il minimo.
Ad esempio, se n = 6 e i numeri sono: 22, 56, -6, 89, -13
Il max è 89 e il minimo -13
#include <stdio.h>
#include <stdlib.h>
main()
{
int n, i, x, max, min;
printf ("di quanti numeri vuoi calcolare max e min ? ");
scanf(" %d", &n);
printf("digita un numero: ");
scanf(" %d", &max);
min = max;
for (i=1; i<n; i++) {
printf("digita un numero: ");
scanf(" %d", &x);
if (x < min)
min = x;
else if (x > max)
max = x;
}
printf ("il max dei %d numeri e' %d, mentre il min e' %d\n\n",
n, max, min);
system ("pause");
return (0);
}
Proglab 5 - Test numero primo con for e flag
Legge un intero positivo n e stabilisce se il numero è primo.
Ad esempio, se
n = 11 la risposta è sì, se n = 88 la risposta è no.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
main() {
int i, n, flag;
printf("digita un numero intero maggiore di 1: ");
scanf(" %d", &n);
flag = 1;
for (i=2; i < n; i++) {
if (n % i == 0)
flag = 0;
}
if (flag == 1)
printf("il numero %d e' primo\n\n", n);
else
printf("il numero %d non e' primo\n\n",n);
system ("pause");
return(0);
}
Proglab 6 - Test numero primo con while
Legge un intero n e stabilisce se il numero è primo.
#include <stdio.h>
#include <stdlib.h>
main() {
int i, n;
printf("digita un numero intero maggiore di 1: ");
scanf(" %d", &n);
i=2;
while (n % i != 0)
i++;
if (i == n)
printf("il numero %d e' primo\n\n", n);
else
printf("il numero %d non e' primo\n\n",n);
system ("pause");
return(0);
}
Proglab 7 – Formattazione output di un array
Viene letto un array di interi e viene stampato con vari formati output:
- un numero per riga
- un numero per riga in ordine inverso
- cinque numeri per riga senza gestire n non multiplo di 5
- cinque numeri per riga con gestione di n non multiplo di 5
#include <stdio.h>
#include <stdlib.h>
main()
{
int i, j, n, m, A[100];
printf("\nnumero di elementi di A: ");
scanf(" %d", &n);
printf("\ndigita gli elementi di A: ");
for (i=0; i<n; i++) {
scanf(" %d", &A[i]);
}
for (i=0; i<n; i++) {
printf(" \n%d", A[i]);
}
for (i=n-1; i>=0; i--) {
printf(" \n%d", A[i]);
}
for (i=0; i<n; i=i+5) {
printf(" \n\n%6d%6d%6d%6d%6d\n\n",
A[i],A[i+1],A[i+2],A[i+3],A[i+4]);
}
for (i=0; i<n; i++) {
if (i % 5 == 0)
printf ("\n\n");
printf("%6d", A[i]);
}
printf ("\n\n");
system ("pause"); return(0); }