Segue resposta.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int vetor[4], cont, aux, i, j;
int soma=0, mult=1;
for(cont=0; cont<4; cont++)
{
printf("Digite o valor %d : ", cont+1);
scanf("%d",&vetor[cont]);
fflush(stdin);
}
for(i=cont-1; i >= 1; i--)
{
for(j=0; j < i ; j++)
{
if(vetor[j]>vetor[j+1])
{
aux = vetor[j];
vetor[j] = vetor[j+1];
vetor[j+1] = aux;
}
}
}
soma += vetor[0] + vetor[1];
printf("\nPrimeiro numero menor eh %d.\n", vetor[0]);
printf("\nSegundo numero menor eh %d.\n", vetor[1]);
printf("\nA soma dos dois numeros menores eh %d.\n", soma);
system("PAUSE");
return(0);
}
2- Escreva um programa, em linguagem C, que leia quatro números distintos digitados pelo usuário. O programa deve apresentar a soma dos dois menores.
Para resolver este problema podemos usar um vetor para capturar os valores lidos, e uma constante para controlar a quantidade de entrada, assim nosso algoritmo pode ler mais ou menos de quatro valores, logo na leitura já podemos verificar quais os menores valores e já ir atribuindo as variáveis que armazenaram os mesmos. Feito, no final podemos exibir a listagem de números lidos com um laço de repetição (for) e logo após exibir a soma dos dois menores valores previamente atribuídos no momento da leitura de todos os valores.
#include <stdio.h>
#include <stdlib.h>
//Constante onde posso configurar a quantidade de entrada de valores
const int QTD_NUM_LER = 4;
int main(){
//Declaração das variaveis
/*numeros[] é o vetor de float que guardar todos os valores lidos,
primeiro_menor e segundo_menor armazenam os dois menores valores.
*/
float numeros[QTD_NUM_LER], primeiro_menor, segundo_menor;
//Inicializo as variaveis de soma com valor randomico usando a funcao rand()
primeiro_menor = segundo_menor = rand() * 10000;
//Leio os valores informados e ja verifico os menores
for(int i = 0; i < QTD_NUM_LER; i++){
printf("Entre com o %io numero: ", i+1);
scanf("%f", &numeros[i]);
printf("\n");
/*Verifico se o valor lido é menor que o primeiro_menor*/
if(numeros[i] < primeiro_menor){
//Caso sim, atribuo a variavel
primeiro_menor = numeros[i];
//Caso contrario, verifico se e menor que o segundo_menor
} else if(numeros[i] < segundo_menor) {
//Caso sim, atribuo
segundo_menor = numeros[i];
}
}
//Apresento os valores lidos
printf("\n\n");
printf("Todos os valores lidos");
for(int i = 0; i < QTD_NUM_LER; i++){
printf(" %.1f; ", numeros[i]);
}
//Apresento a soma
printf("\n\n");
printf("Soma dos 2 menores numeros lido= %.1f", primeiro_menor + segundo_menor);
printf("\n\n");
}
Para resolver este problema podemos usar um vetor para capturar os valores lidos, e uma constante para controlar a quantidade de entrada, assim nosso algoritmo pode ler mais ou menos de quatro valores, logo na leitura já podemos verificar quais os menores valores e já ir atribuindo as variáveis que armazenaram os mesmos. Feito, no final podemos exibir a listagem de números lidos com um laço de repetição (for) e logo após exibir a soma dos dois menores valores previamente atribuídos no momento da leitura de todos os valores.
#include <stdio.h>
#include <stdlib.h>
//Constante onde posso configurar a quantidade de entrada de valores
const int QTD_NUM_LER = 4;
int main(){
//Declaração das variaveis
/*numeros[] é o vetor de float que guardar todos os valores lidos,
primeiro_menor e segundo_menor armazenam os dois menores valores.
*/
float numeros[QTD_NUM_LER], primeiro_menor, segundo_menor;
//Inicializo as variaveis de soma com valor randomico usando a funcao rand()
primeiro_menor = segundo_menor = rand() * 10000;
//Leio os valores informados e ja verifico os menores
for(int i = 0; i < QTD_NUM_LER; i++){
printf("Entre com o %io numero: ", i+1);
scanf("%f", &numeros[i]);
printf("\n");
/*Verifico se o valor lido é menor que o primeiro_menor*/
if(numeros[i] < primeiro_menor){
//Caso sim, atribuo a variavel
primeiro_menor = numeros[i];
//Caso contrario, verifico se e menor que o segundo_menor
} else if(numeros[i] < segundo_menor) {
//Caso sim, atribuo
segundo_menor = numeros[i];
}
}
//Apresento os valores lidos
printf("\n\n");
printf("Todos os valores lidos");
for(int i = 0; i < QTD_NUM_LER; i++){
printf(" %.1f; ", numeros[i]);
}
//Apresento a soma
printf("\n\n");
printf("Soma dos 2 menores numeros lido= %.1f", primeiro_menor + segundo_menor);
printf("\n\n");
}
Para escrever sua resposta aqui, entre ou crie uma conta
Algoritmos e Programação I
•UFMS
Compartilhar