Exercício Laços Iterativos
#include <stdio.h>
#include <stdlib.h>
int main(){
int total = 0; // vai acumulando a soma dos numeros
int numero, menor = 0, maior = 0;
int contador = 0; // Usado para salvar o primeiro valor
//diferente de zero como maior e menor
printf ("Digite numeros (0 para sair):\n");
do{
scanf ("%d",&numero);
if (numero < 0)
printf ("Voce digitou um valor invalido\n");
else{
total+=numero;
/* Contador é usado para que ‘maior’ e ‘menor’ sejam o
‘número’ apenas na primeira passagem do laço(pois é
incrementado) */
if (contador == 0){
maior = numero;
menor = numero;
contador++;
}
if (numero < menor && numero != 0)
menor = numero;
if (numero > maior)
maior = numero;
}
} while (numero != 0);
printf ("Soma dos valores = %d\n",total);
printf ("Menor valor = %d\n", menor);
printf ("Maior valor = %d\n", maior);
system("pause");
return 0;
}
Do - while é o melhor laço a ser usado, pois:
For -> Não sabemos quando será digitado o ‘0’
While -> Precisaríamos atribuir um valor ao ‘numero’ que
fosse diferente de zero antes do teste
Ex: numero = 1
while (numero != 0){
...
}
Do - while – Garante que será executado no mínimo uma
vez
Exercício Array
#include <stdio.h>
#include <stdlib.h>
int main(){
int vetor[10]= { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 };
int soma_impares = 0;
for (int i = 0; i < 10; i++){
if (vetor[i] % 2 != 0) // Se TEM resto = ÍMPAR
soma_impares += vetor[i];
printf ("%d ", vetor[i]); // Imprime vetor
}
printf("\n\n");
for (int i = 9; i >= 0; i--){
printf ("%d“ ,vetor[i]); // Imprime vetor ao contrário
}
printf ("\n\nSoma impares = %d\n\n“ ,soma_impares);
system ("pause");
return 0;
}