• Non ci sono risultati.

Introdurre un numero intero positivo 45 cifre: 2

N/A
N/A
Protected

Academic year: 2022

Condividi "Introdurre un numero intero positivo 45 cifre: 2"

Copied!
24
0
0

Testo completo

(1)
(2)

Introdurre un numero intero positivo 45 cifre: 2

(3)

#include<stdio.h>

int main() {

int n, i = 0, m;

do {

printf("inserire n: ");

scanf("%d", &n);

}while(n < 0);

m = n;

while(n > 0) // (*) {

n = n / 10;

i++;

}

printf("%d ha %d cifre", m, i);

return 0;

}

Se avessimo modificato la condizione del while (*) in while(n!=0)

Il programma funziona anche con i numeri negativi (quindi si poteva non mettere il controllo sull’inserimento di n

Nel caso avessimo voluto farlo con il for:

for( ; n > 0; i++) n = n / 10;

(4)

Introdurre tre numeri interi:

4 1 8 massimo: 8

(5)

#include<stdio.h>

int main() {

int a,b,c,massimo;

// acquisisco

printf("\nInserire a: "); scanf("%d", &a);

printf("\nInserire b: "); scanf("%d", &b);

printf("\nInserire c: "); scanf("%d", &c);

// soluzione con if annidati if(a > b) //posso escludere b

if(a > c)

massimo = a;

else

massimo = c;

else // posso escludere a if(b > c)

massimo = b;

else

massimo = c;

printf("max(%d,%d,%d) = %d", a, b, c, massimo);

return 0;

}

(6)

#include<stdio.h>

int main() {

int a,b,c,massimo;

// acquisisco

printf("\nInserire a: "); scanf("%d", &a);

printf("\nInserire b: "); scanf("%d", &b);

printf("\nInserire c: "); scanf("%d", &c);

// soluzione con istruzioni composte if (a>=b && a>=c)

massimo = a;

if (b>=a && b>=c) massimo = b;

if (c>=a && c>=b) massimo = c;

printf("max(%d,%d,%d) = %d", a, b, c, massimo);

return 0;

}

(7)

#include<stdio.h>

int main() {

int a,b,c,massimo;

// acquisisco

printf("\nInserire a: "); scanf("%d", &a);

printf("\nInserire b: "); scanf("%d", &b);

printf("\nInserire c: "); scanf("%d", &c);

// soluzione con if annidati if(a > b) //posso escludere b

if(a > c)

massimo = a;

else

massimo = c;

else // posso escludere a if(b > c)

massimo = b;

else

massimo = c;

printf("max(%d,%d,%d) = %d", a, b, c, massimo);

return 0;}

(8)

Introdurre tre numeri interi:

4 1 8 ordine: 1, 4, 8

(9)

a , b

b , c b , c

a , c a , c

a , b , c

a , c , b c , a , b b , a , c b , c , a

c , b , a

a < b a>=b

b < c b>=c b < c b>=c

a < c a>=c a < c a>=c

Esercizio 1

(10)

#include<stdio.h>

int main() {

int a,b,c;

printf("inserire primo numero"); scanf("%d", &a);

printf("inserire secondo numero"); scanf("%d", &b);

printf("inserire terzo numero"); scanf("%d", &c);

if(a > b) if(b>c)

printf("%d %d %d", a, b, c);

else

if(a > c)

printf("%d %d %d", a, c, b);

else

printf("%d %d %d", c, a, b); else // b>=a if(a>c)

printf("%d %d %d", b, a, c);

else

if(b > c)

printf("%d %d %d", b, c, a);

else

printf("%d %d %d", c, b, a);

return 0;

}

(11)
(12)

#include<stdio.h>

int main() {

int a,b,c, temp;

printf("inserire primo numero"); scanf("%d", &a);

printf("inserire secondo numero"); scanf("%d", &b);

printf("inserire terzo numero"); scanf("%d", &c);

if(a > b)

{ temp = a; a = b; b = temp; }

if(a > c)

{ temp = a; a = c; c = temp; }

if(b > c)

{ temp = b; b = c; c = temp;}

printf("%d %d %d", a, b, c);

return 0;}

(13)
(14)

Inserire numero di valori 4 Inserire il prossimo valore 5 Inserire il prossimo valore 2 Inserire il prossimo valore 7 Inserire il prossimo valore 8

massimo valore= 8, posizione=4

(15)

#include<stdio.h>

int main() {

int n, i = 1, max, pos_max = 1, x;

do {

printf("quanti numeri?");

scanf("%d", &n);

}while(n<0);

printf("inserisci numero (%d):", i);

scanf("%d", &x);

max = x;

while(i < n) {

++i;

printf("inserisci numero (%d): ", i);

scanf("%d", &x);

if(max < x) {

max = x;

pos_max = i;

} }

printf("\n il max e' %d in pos %d", max, pos_max);

return 0;

}

(16)
(17)

#include<stdio.h>

int main() {

int n, primo =1, i = 2;

scanf("%d", &n);

while(i <= n/2 && primo == 1) {

if(n%i==0)

primo = 0;

i++;

}

printf("\n%d ", n);

if(primo == 0)

printf("NON ");

printf("e' primo ");

}

La variabile primo funziona come variabile di flag,

indicando alla fine delle iterazioni se la condizione

«avere divisori» non si sia mai verificata

(18)

#include<stdio.h>

int main() {

int x, primo, i;

do {

printf("inserire x: ");

scanf("%d", &x);

primo = 1;

for(i=2; i <= x /2; i++) // devo mettere i <= x/2 altrimenti il 4 non entra nel for!

if(x % i == 0) primo = 0;

if(primo)

printf("%d e\' primo\n", x);

}while(x > 0);

return 0;

}

(19)

220 → 110 + 55 + 44 + 22 + 20 + 11 + 10 + 5 + 4 + 2 + 1 = 284;

284 → 142 + 71 + 4 + 2 + 1 = 220:

(20)

𝑎 𝑏 𝑎 × 𝑏

* * * *

* *

* * * *

(21)

#include<stdio.h>

int main() {

int x,i,j;

printf("inserire lato quadrato: ");

scanf("%d", &x);

// stampa prima riga for(i=0; i<x; i++)

printf("*");

printf("\n");

// stampa seconda alla penultima riga for(j = 1; j < x-1; j++)

{

printf("*"); // asterisco prima colonna for(i=1; i<x-1; i++) // x-2 spazi

printf(" "); // asterisco ultima colonna printf("*\n");

}

// stampa ultima riga for(i=0; i<x; i++)

printf("*");

return 0;

}

(22)

𝑁 𝑁

(23)

23

(24)

#include <stdio.h>

void main()

{

char car;

int contatore = 0;

printf(“Inserire una serie di caratteri(# per finire)\n");

do {

scanf("%c", &car);

if(car=='a’||car=='e’||car=='i’||car==‘o’||car=='u') contatore++;

} while(car!='#');

printf("Il numero delle vocali e' %d",contatore);

}

24

Riferimenti

Documenti correlati

Trova un numero di due cifre sapendo che la cifra delle unità è 2 e che la dierenza fra il numero da trovare e quello che si ottiene scambiando di posto le due cifre è 27.. In

CASA DELLE UNITÀ sempliciCASA DELLE UNITÀ semplici decinaunità centinaiok. CASA DELLE MIGLIAIACASA DELLE

Dalla foto aerea è possibile osservare i convogli merci presenti nell’area, e banchine di scarico e carico merci lungo la linea prin- cipale e i capannoni industriali adetti

3. Statistical differences during the stance phase of the gait cycle were pre- sented between the muscular synergies of Down syndrome and Control populations. Those differences

Nel caso di un chatbot, più che sensazio- ni di negatività, ci si ritrova a non capire quali sono le capacità della macchina, a non riuscire a comprendere ciò che può e ciò che

Nelle opere cartografiche di Friedrich Wilhelm Heinrich Alexander von Humboldt (14-09-1769 / 06-05-1859) è possi- bile rintracciare le linee guida che confermano la validità della

In alto assonometria con evidenziate le situazioni di carico e le direzioni delle forze principali. Si individuano in parti- colare tre casistiche: la prima data dalla