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

13 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;
}

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.