Questões sobre IF e ELSE

Agora que já ensinamos o que é e como usar o teste condicional IF-ELSE e operadores relacionais em linguagem C(para fazer testes e comparações), agora vamos propor alguns exercícios, em nossa apostila de C, e mostrar suas soluções, com códigos comentados, para você  fixar seus conhecimentos nesses conceitos tão importantes em C.

Lembramos que esses exercícios fazem parte do curso, além de ensinarmos técnicas de programação e assuntos importantes através deles.

Clique aqui e saiba como obter seu certificado de programação C! Entre já no Mercado de Trabalho!


Exercícios sobre IF e ELSE em C

Embora venhamos a mostrar a solução dos exercícios, não olhe a solução antes de tentar.
É simples: você só aprende se tentar. Se estiver só lendo, copiando e colando os códigos no Code::Blocks, você nunca aprenderá. Tente, tente de novo, depois tente mais um pouco.
Só então olhe a solução.

0. Faça um programa que peça dois números ao usuário e mostre qual o maior e qual o menor

1. Faça um programa que receba três inteiros e diga qual deles é o maior e qual o menor. Consegue criar mais de uma solução?

2. Escreva um programa em C que recebe um inteiro e diga se é par ou ímpar.
Use o operador matemático % (resto da divisão ou módulo) e o teste condicional if.

3. Escreva um programa que pergunte o raio de uma circunferência, e sem seguida mostre o diâmetro, comprimento e área da circunferência.

4. Para doar sangue é necessário ter entre 18 e 67 anos. Faça um aplicativo na linguagem C que pergunte a idade de uma pessoa e diga se ela pode doar sangue ou não. Use alguns dos operadores lógicos OU (||) e E (&&).

5. Escreva um programa que pergunte o dia, mês e ano do aniversário de uma pessoa e diga se a data é válida ou não. Caso não seja, diga o motivo. Suponha que todos os meses tem 31 dias e que estejamos no ano de 2013.




Desafio 1. Crie um programa em C que peça um número ao usuário e armazene ele na variável x. Depois peça outro número e armazene na variável y.
Mostre esses números. Em seguida, faça com que x passe a ter o valor de y, e que y passe a ter o valor de x.
Dica: você vai precisar usar outra variável.


Clique aqui para conferir as soluções, com códigos comentados, dessas questões sobre o teste condicional IF ELSE em Linguagem C.


Desafio 2.
 Escreva um programa que pede os coeficientes de uma equação do segundo grau e exibe as raízes da equação, sejam elas reais ou complexas.
Solução do desafio 2

Desafio 3. Crie um programa em C que recebe uma nota (entre 0.0 e 10.0) e checa se você passou direto, ficou de recuperação ou foi reprovado na matéria.
A regra é a seguinte:
Nota 7 ou mais: passou direto
Entre 4 e 7: tem direito de fazer uma prova de recuperação
Abaixo de 4: reprovado direto
Solução do desafio 3

20 comentários:

John Santos disse...

Desafio 1: Crie um programa em C que peça um número
ao usuário e armazene ele na variável x. Depois peça
outro número e armazene na variável y.
Mostre esses números. Em seguida, faça com que x passe
a ter o valor de y, e que y passe a ter o valor de x.
Dica: você vai precisar usar outra variável.

#include

int main(void)
{
int x,
y,
n;

printf("Insira 1 número para X: ");
scanf("%d", &x);

printf("Insira 1 número para Y: ");
scanf("%d", &y);

printf("X = %d\n", x);
printf("Y = %d\n", y);

n = x + y;

if(y = n - x)
printf("\nX = %d\n", y);
if(x = n - y)
printf("Y = %d\n", x);

return 0;
}


Desafio 3: Crie um programa em C que recebe uma nota (entre 0.0 e 10.0) e checa se você
passou direto, ficou de recuperação ou foi reprovado na matéria.
A regra é a seguinte:
Nota 7 ou mais: passou direto
Entre 4 e 7: tem direito de fazer uma prova de recuperação
Abaixo de 4: reprovado direto

#include

int main(void)
{
float nota;

printf("Insira sua nota (entre 0.0 e 10.0):\n");
scanf("%f", &nota);

if(nota >= 7.0 && nota <= 10.0)
printf("\nVocê passou direto!\n");
else if(nota >= 4.0 && nota < 7.0)
printf("\nVocê tem direito de fazer uma prova de recuperação!\n");
else if(nota >= 0.0 && nota < 4.0)
printf("\nVocê foi reprovado direto!\n");

return 0;
}

John Santos disse...

Desafio 1: Crie um programa em C que peça um número
ao usuário e armazene ele na variável x. Depois peça
outro número e armazene na variável y.
Mostre esses números. Em seguida, faça com que x passe
a ter o valor de y, e que y passe a ter o valor de x.
Dica: você vai precisar usar outra variável.

#include

int main(void)
{
int x,
y,
n;

printf("Insira 1 número para X: ");
scanf("%d", &x);

printf("Insira 1 número para Y: ");
scanf("%d", &y);

printf("X = %d\n", x);
printf("Y = %d\n", y);

n = x + y;

if(y = n - x)
printf("\nX = %d\n", y);
if(x = n - y)
printf("Y = %d\n", x);

return 0;
}


Desafio 3: Crie um programa em C que recebe uma nota (entre 0.0 e 10.0) e checa se você
passou direto, ficou de recuperação ou foi reprovado na matéria.
A regra é a seguinte:
Nota 7 ou mais: passou direto
Entre 4 e 7: tem direito de fazer uma prova de recuperação
Abaixo de 4: reprovado direto

#include

int main(void)
{
float nota;

printf("Insira sua nota (entre 0.0 e 10.0):\n");
scanf("%f", &nota);

if(nota >= 7.0 && nota <= 10.0)
printf("\nVocê passou direto!\n");
else if(nota >= 4.0 && nota < 7.0)
printf("\nVocê tem direito de fazer uma prova de recuperação!\n");
else if(nota >= 0.0 && nota < 4.0)
printf("\nVocê foi reprovado direto!\n");

return 0;
}

Anônimo disse...

#include

int main(void)
{
int numero1, numero2, a, b;
printf("digite um numero:", numero2);
scanf("%d", &numero1);
printf("digite outro numero: ", numero1);
scanf("%d", &numero2);
printf("numero1 foi %d:\n", numero1);
printf("numero2 foi %d:\n", numero2);
printf("agora numero1 e %d:\n", b);
printf("agora numero2 e %d: ", a);
numero1 = a;
numero2 = b;
}

está certo?

Anônimo disse...

a um erro de digitação na questão 3

3. Escreva um programa que pergunte o raio de uma circunferência, e sem seguida mostre o diâmetro, comprimento e área da circunferência.

*sem séria em...

Andre F disse...

1. Faça um programa que receba três inteiros e diga qual deles é o maior e qual o menor. Consegue criar mais de uma solução?

Meu codigo para essa questao:

#include

int main(void)
{
int numero, numero1, numero2;

printf("Numero: ");
scanf("%d",&numero);

printf("Numero1: ");
scanf("%d",&numero1);

printf("Numero2: ");
scanf("%d",&numero2);

//Aqui o valor maior
if(numero > numero1 && numero > numero2)
{
printf("A variavel (numero com valor: %d) e a maior de todas\n", numero);
}

if(numero1 > numero && numero1 > numero2)
{
printf("A variavel (numero1 com valor: %d) e a maior de todas\n", numero1);
}

if(numero2 > numero && numero2 > numero1)
{
printf("A variavel (numero2 com valor: %d) e a maior de todas\n", numero2);
}

printf("\n");// Pula uma linha
//Aqui O valor menor
if(numero < numero1 && numero < numero2)
{
printf("A variavel (numero com valor: %d) e a menor de todas\n", numero);
}

if(numero1 < numero && numero1 < numero2)
{
printf("A variavel (numero1 com valor: %d) e a menor de todas\n", numero1);
}

if(numero2 < numero && numero2 < numero1)
{
printf("A variavel (numero2 com valor: %d) e a menor de todas\n", numero2);
}
return 0;
}

Anônimo disse...

#include
#include

int main()
{
double a, b, c;
printf("\tDigite os coeficientes da equacao(comeca pelo lider): ");
scanf("%lf %lf %lf", &a, &b ,&c);
if(a == 0)
printf("\nA equacao possui somente uma raiz, a saber: %lg\n", -c/b);
else if(b*b < 4*a*c)
printf("\nA equacao possui as raizes complexas: %lg + i%lg e %lg - i%lg\n", -b/2/a, sqrt(4*a*c - b*b)/2/a, -b/2/a, sqrt(4*a*c - b*b)/2/a);
else
printf("\nA equacao possui raizes reais, a saber: %lg e %lg", (-b + sqrt(b*b - 4*a*c))/2/a, (-b - sqrt(b*b - 4*a*c))/2/a);
rewind(stdin);
getchar();
return 0;


}

MAC disse...

//1. Faça um programa que receba três inteiros e diga qual deles é o maior
//e qual o menor.


#include
int main()
{
int n1,n2,n3;
printf("digite o primeiro numero\n");
scanf("%d",&n1);
printf("digite o segundo numero\n");
scanf("%d",&n2);
printf("digite o terceiro numero\n");
scanf("%d",&n3);

if ((n1>n2)&&(n2>n3))
{
printf("%d e maior e %d menor",n1,n3);
}
if ((n3>n2)&&(n2>n1))
{
printf("%d e maior e %d menor",n3,n1);
}
if ((n2>n1)&&(n1>n3))
{
printf("%d e maior e %d menor",n2,n3);
}

if ((n3>n1)&&(n1>n2))
{
printf("%d e maior e %d menor",n3,n2);
}
if ((n2>n3)&&(n3>n1))
{
printf("%d e maior e %d menor",n2,n1);
}

if ((n1>n3)&&(n3>n2))
{
printf("%d e maior e %d menor",n1,n2);
}




}

MAC disse...

//2. Escreva um programa em C que recebe um inteiro e diga se é par ou ímpar.
//Use o operador matemático % (resto da divisão ou módulo) e o teste condicional if.

//MAC
#include
int main()
{
int num;
printf("digite um numero\n");
scanf("%d",&num);

//lógica par ou impar
if(num%2==0)
{
printf("%d par",num);
}
else
{
printf("%d impar",num);
}
}

MAC disse...

//3. Escreva um programa que pergunte o raio de uma circunferência, e sem seguida mostre o diâmetro,
//comprimento e área da circunferência

//MAC
#include
int main()
{

float r,d,p,a;
printf("Qual o raio da circuferencia \n");
scanf("%f",&r);
//diametro
d=r*2;
//comprimento
p=3.14*2*r;
//area
a=3.14*r*r;
printf("diametro %.2f, comprimento %.2f, area %.2f",d,p,a);
}

MAC disse...

//Desafio 1. Crie um programa em C que peça um número ao usuário e armazene ele na variável x. Depois peça outro número e armazene na variável y.
//Mostre esses números. Em seguida, faça com que x passe a ter o valor de y, e que y passe a ter o valor de x.
//Dica: você vai precisar usar outra variável.
//MAC
#include
int main()
{
int x,y,t;
printf("digite o numero x\n");
scanf("%d",&x);
printf("digite o numero y\n");
scatf("%d para x e %d para y\n ",x,y);
nf("%d",&y);
printf("%d para x e %d para y\n ",x,y);
t=y;
y=x;
x=t;
prin
}

Gabriel Cavalcante disse...

printf("Digite um número: ");
scanf("%f", &num1);
printf("Digite outro número: ");
scanf("%f", &num2);

if (num1 > num2){ maior = num1; menor = num2;}
else { maior = num2;menor = num1;}

printf("\nO MAIOR número é: %.2f\n", maior);
printf("\nO MENOR número é: %.2f\n", menor);

Anônimo disse...

#include
#include
#include
int main()
{
setlocale(LC_ALL, "portuguese");
int num1,num2,num3;
printf("Digite três números:\n");
scanf("%d%d%d",&num1,&num2,&num3);
system("cls||clear");
if (num1>num2)
{
if(num1>num3)
{
if(num2>num3)
{
printf("O maior número é o 1 e o menor é o 3!\n");
}
else
{
printf("O maior número é o 1 e o menor é o 2!\n");
}
}

}
else if(num2>num3)
{
if(num3>num1)
{
printf("O maior número é o 2 e o menor é o 1!\n");
}
else
{
printf(" O maior número é o 2 e o menor é o 3!\n");
}
}
else
{
if(num2>num1)
{
printf("O maior número é o 3 e o menor é o 1!\n");
}
else
{
printf("O maior número é o 3 e o menor é o 2!\n");
}

}
return 0;
}
:)

Anônimo disse...

#include
#include
#include
#define MAIOR 18
#define LIMITE 67
int main()
{
setlocale(LC_ALL,"portuguese");
int num;
printf("Digite sua idade:\n");
scanf("%d",&num);
system("pause");
system("cls||clear");
if(num>=MAIOR&&num<=LIMITE)
{
printf("Você esta apto a doar sangue!\n");
}
else
{
printf("Você não pode doar sangue :(\n");
}
return 0;
}

Let's learn disse...

//1. Faça um programa que receba três inteiros e diga qual deles é o maior e qual o menor. Consegue criar mais de uma solução?

#include

int main(void)
{
int n1, n2, n3;

do
{
printf("Entre com tres numeros inteiros positivos e diferentes entre si\n");
scanf("%d %d %d",&n1, &n2, &n3);
}
while ((n1<=0 || n2<=0 || n3<=0) || (n1==n2 || n1==n3 || n2==n3));

if (n1 < n2 && n1 < n3 ){ //1 2 3 //1<2 1<3 1 e o Menor
printf("Entrou no if 1<2 1<3\n");
printf("%d e o menor \n", n1);
}
if (n1 < n2 && n3 < n2 ){ //1 3 2 //1<2 3<2 2 e o maior
printf("Entrou no if 1<2 3<2\n");
printf("%d e o maior \n", n2);
}
if (n3 < n2 && n3 < n1 ){ //3 2 1 //3<2 3<1 3 e o Menor
printf("Entrou no if 3<2 3<1\n");
printf("%d e o menor \n", n3);
}
if(n2 < n3 && n1 < n3 ){ //3 1 2 //2<3 1<3 3 e o maior
printf("Entrou no if 2<3 1<3\n");
printf("%d e o maior \n", n3);
}
if (n2 < n1 && n2 < n3 ){ //2 1 3 //2<1 2<3 2 e o Menor
printf("Entrou no if 2<1 2<3\n");
printf("%d e o menor \n", n2);
}
if (n2 < n1 && n3 < n1 ){ //2 3 1 //2<1 3<1 1 e o maior
printf("Entrou no if 2<1 3<1\n");
printf("%d e o maior \n", n1);
}
return 0;
}

Let's Learn disse...

//2. Escreva um programa em C que recebe um inteiro e diga se é par ou ímpar.
//Use o operador matemático % (resto da divisão ou módulo) e o teste condicional if.

#include

int main(void)
{
int num;
do
{
printf("Entre com um inteiro positivo\n\n");
scanf("%d", &num);
}
while(num<0);

if (num%2==0)
printf("\tEste numero e par\n\n");
else
printf("\tEste numero e impar\n\n");
return 0;
}

Let's Learn disse...

//4. Para doar sangue é necessário ter entre 18 e 67 anos.
//Faça um aplicativo na linguagem C que pergunte a idade de uma pessoa e diga se ela pode doar sangue ou não.
//Use alguns dos operadores lógicos OU (||) e E (&&).

#include

int main(void)
{
int idade;
printf("Qual e sua idade?\n\n");
scanf("%d", &idade);

if ((idade>0) && (idade>=18) && (idade<=67))
printf("\tVoce pode doar sangue\n\n");
else
printf("\tVoce NAO pode doar sangue\n\n");
return 0;
}

Let's Learn disse...

//5. Escreva um programa que pergunte o dia, mês e ano do aniversário de uma pessoa e diga se a data é válida ou não.
//Caso não seja, diga o motivo. Suponha que todos os meses tem 31 dias e que estejamos no ano de 2013.

#include

int main(void)
{
int dia, mes, ano;
printf("\t Entre com a dia, mes e ano do seu nascimento\n\n");
scanf("%d %d %d", &dia, &mes, &ano );

if((dia<1) || (dia>31))
printf("\t O Dia tem que estar entre 1 e 31\n");
else
printf("\t O Dia %d e um dia valido\n", dia);

if((mes<1) || (mes>12))
printf("\t O Mes tem que estar entre 1 e 12\n");
else
printf("\t O Mes %d e um mes valido\n", mes);

if((ano<1863) || (ano>2013))
printf("\t O Ano tem que estar entre 1863 e 2013\n");
else
printf("\t O Ano %d e um ano valido\n", ano);

return 0;
}

Let's Learn disse...

//Desafio 1. Crie um programa em C que peça um número ao usuário e armazene ele na variável x.
//Depois peça outro número e armazene na variável y. Mostre esses números.
//Em seguida, faça com que x passe a ter o valor de y, e que y passe a ter o valor de x.
//Dica: você vai precisar usar outra variável.


#include

int main(void)
{
int x, y, recebeX, recebeY;

printf("\t Entre com dois numeros inteiros, o primeiro para X e o segundo para Y \n");
scanf("%d %d", &x, &y);
printf("\t O valor de X e: %d \n", x);
printf("\t O valor de Y e: %d \n\n", y);

printf("\t Trocando o valor dos numeros \n\n");

recebeX = x;
recebeY = y;
x = recebeY;
y = recebeX;

printf("\t O valor de X e: %d \n", x);
printf("\t O valor de Y e: %d \n", y);

return 0;
}

Let's Learn disse...

//Desafio 2. Escreva um programa que pede os coeficientes de uma equação do segundo grau e
//exibe as raízes da equação, sejam elas reais ou complexas.

#include
#include

int main(void)
{
int a, b, c, delta;
float r1, r2;
printf("\t Entre com os coeficientes a, b e c \n");
scanf("%d %d %d", &a, &b, &c);

delta = b * b - 4 * a * c;
r1 = ((- b + sqrt(delta))/ (2 * a));
r2 = ((- b - sqrt(delta))/ (2 * a));
printf("\t Delta e: %d \n", delta);
if (delta < 0)
printf("\t Delta e menor que zero. Nao ha raizaes reais \n");
else
if (delta == 0)
{
printf("\t Delta e igual a zero. \n");
printf("\t As raizaes sao iguais: %f e %f", r1, r2);
}
else
if (delta > 0)
{
printf("\t Delta e maior que zero.\n");
printf("\t As raizes sao: %f e %f", r1, r2);
}
return 0;

// Esqueci de verificar se o coeficiente a é diferente de zero.
}

Let's Learn disse...

//Desafio 3. Crie um programa em C que recebe uma nota (entre 0.0 e 10.0) e checa se você passou direto,
//ficou de recuperação ou foi reprovado na matéria.
//A regra é a seguinte:
//Nota 7 ou mais: passou direto
//Entre 4 e 7: tem direito de fazer uma prova de recuperação
//Abaixo de 4: reprovado direto


#include

int main(void)
{
int nota;
printf("\t Entre com a nota \n");
scanf("%d", &nota);
if((nota >= 0) && (nota <= 10))
if(nota > 7)
printf("\t Passou direto \n");
else
if((nota >= 4) && (nota <= 7))
printf("\t Tem direito de fazer uma prova de recuperacao \n");
else
if(nota < 4)
printf("\t Reprovado direto \n");
else
{
}

else
printf("\t A nota deve estar entre 0 e 10 \n");
return 0;
}

Gostou desse tutorial de C?
Sabia que o acervo do portal C Progressivo é o mesmo, ou maior que, de um livro ou curso presencial?
E o melhor: totalmente gratuito.

Mas para nosso projeto se manter é preciso divulgação.
Para isso, basta curtir nossa página no Facebook e/ou clicar no botão +1 do Google.
Contamos e precisamos de seu apoio.