JoeFreire Sobre T.I.

Experiências sobre a vida na Tecnologia da Informação

Arquivo para a categoria “Licomp”

Exercicios de funções em C parte II

Faça uma função que receba a idade de uma pessoa em anos, meses e dias e retorna essa
idade expressa em dias.

#include <stdio.h>
#include <stdlib.h>
int convertedias(int anos, int meses, int dias){
int dias2;
dias2 = (anos * 365) + (meses * 30) + dias;
printf(“Sua idade em dias e %d\n”, dias2);
}
int main()
{
int anos, meses, dias;
printf(“Informe a idade em anos, meses e dias\n”);
scanf(“%d %d %d”, &anos, &meses, &dias);
convertedias(anos, meses, dias);
return 0;
}

Faça uma função que recebe a média final de um aluno por parâmetro e retorna o seu
conceito, conforme a tabela a seguir:
Nota Conceito
De 0 a 49 D
De 50 a 69 C
De 70 a 89 B
De 90 a 100 A

#include <stdio.h>
#include <stdlib.h>

int conceito (int media){
if (media >= 0 && media <= 49)
printf(“Conceito D”);
else if (media <= 69)
printf(“Conceito C”);
else if (media <= 89)
printf(“Conceito B”);
else if (media <= 100)
printf(“Conceito A”);
else
printf(“Valor de entrada incorreto”);
}
int main()
{
int media;
printf(“Entre com a media\n”);
scanf(“%d”, &media);
conceito(media);
return 0;
}

Escrever uma função int contaimpar (int n1, int n2) que retorna o número de
inteiros impares que existem entre n1 e n2 (inclusive ambos, se for o caso). A função deve
funcionar inclusive se o valor de n2 for menor que n1.
#include <stdio.h>
#include <stdlib.h>

int contaimpar (int n1, int n2){
int i, asw;
asw = 0;
int vect[0];
if (n1 <= n2){
for (i=n1; i<=n2; i++){
if (i%2 != 0){
asw++;}
}}
else{
for (i=n1; i>=n2; i–){
if (i%2 != 0){
asw++;}
}}

printf (“Quantida de impares e %d”,asw);
}
int main()
{
int n1, n2;
printf(“Entre com os valores\n”);
scanf(“%d %d”, &n1, &n2);
contaimpar(n1,n2);
return 0;
}
Escrever uma função int divisão (int dividendo, int divisor, int * resto), que retorna a divisão inteira (sem casas decimais) de dividendo por divisor e armazena no
parâmetro resto, passado por referência, o resto da divisão.
#include <stdio.h>
#include <stdlib.h>

int divisao(int dividendo, int divisor, int *resto){

*resto = dividendo%divisor;
return dividendo/divisor;
}
int main(){
int r, d, divisor, dividendo;
printf(“Entre com o Dividendo e o Divisor\n”);
scanf(“%d %d”, &dividendo, &divisor);
d = divisao(dividendo, divisor, &r);
printf(“Resultado:%d Resto:%d”, d, r);
}

Exemplos de Codicionais em C


Todos os exercicios da Apostila de Algoritmos da UFJF Capitulo 3, Condicionais
Ler dois números inteiros e informar se o primeiro é maior, menor ou igual ao segundo.


#include <stdio.h>
#include <stdlib.h>
int main(){
int a, b;
printf("Entre com dois inteiros \n");
scanf("%d %d", &a, &b);
if (a > b)
printf("O primeiro e maior que o segundo. %d > %d", a , b);
else
if (a == b)
printf("O Primeiro e igual ao segundo. %d = %d", a, b);
else
printf("O Primeiro e menor que o segundo %d<%d", a, b);
return 0;
}

Faça um programa para ler dois números inteiros, faça a divisão do primeiro pelo segundo (somente se o segundo for diferente de zero).

#include <stdio.h>
#include <stdlib.h>
int main(){
float a, b;
printf("Entre com dois inteiros \n");
scanf("%f %f", &a, &b);
if (b != 0)
printf("A divisao %f / %f = %f", a,b,a/b);
else
printf("Impossivel divisao por 0");
return 0;
}
//opção com números inteiros
#include <stdio.h>
#include <stdlib.h>
int main(){
int a, b;
printf("Entre com dois inteiros \n");
scanf("%d %d", &a, &b);
if (b != 0)
printf("A divisao %d / %d = %d", a,b,a/b);
else
printf("Impossivel divisao por 0");
return 0;
}

Ler um número inteiro e informar se ele é divisível por 2.

#include <stdio.h>
#include <stdlib.h>
int main(){
int a;
printf("Entre com um numero inteiro \n");
scanf("%d", &a);
if ( a % 2 == 0 )
printf("O numero %d e par", a);
else
printf("O numero %d nao e par", a);
return 0;
}

Altere o algoritmo anterior para que seja informado se o número é divisível por 2 e por 3 simultaneamente.

#include <stdio.h>
#include <stdlib.h>
int main(){
int a;
printf("Entre com um numero inteiro \n");
scanf("%d", &a);
if ( a % 2 == 0)
if (a % 3 == 0)
printf("O numero %d e divisivel por 2 e 3 ao mesmo tempo", a);
else
printf("O numero %d e par mais nao e divisivel por 3 ao mesmo tempo", a);
else
if (a % 3 == 0)
printf("O numero %d nao e par mais e divisivel por 3", a);
else
printf("O numero %d nao e par nem divisivel por 3", a);
return 0;
}

Altere o algoritmo anterior para que seja informado se o número é divisível por 2 e por 3, mas que não seja divisível por

#include <stdio.h>
#include <stdlib.h>
int main(){
int a;
printf("Entre com um numero inteiro \n");
scanf("%d", &a);
if ( a % 2 == 0)
if (a % 3 == 0)
if (a % 5 == 0)
printf("O numero %d e divisivel por 2,3 e 5", a);
else
printf("O numero %d e divisivel por 2 e 3 ao mesmo tempo e nao e divisivel por 5", a);
else
if (a % 5 == 0)
printf("O numero %d e divisivel por 2 e 5 e nao e por 3", a);
else
printf("O numero %d e divisivel por 3 e 5 e nao e por 2", a);
else
if (a % 5 == 0)
printf("O numero %d e divisivel por 5 e nao e por 2 e 3", a);
else
printf("O numero %d nao e divisivel por 2 e 3 ou 5", a);
return 0;
}

Faça um programa para ler dois números reais e verificar se ambos são maiores que zero. Caso positivo, informar “Valores são válidos”. Caso contrário, informar “Valores inválidos”.

<pre class="alt" style="height: 19px; width: 111.78%;">#include <stdio.h>
#include <stdlib.h>

int main(){
float a, b;
printf("Entre com dois inteiros \n");
scanf("%f %f", &a, &b);
if (a > 0 && b > 0)
printf("Valores são válidos");
else
printf("Valores inválidos");
return 0;
}

Tendo como dados de entrada a altura e o sexo de uma pessoa, construa um programa que calcule seu peso ideal, utilizando as seguintes fórmulas: para homens: (72.7*h)58 e para mulheres: (62.1*h)44.7

#include <stdio.h>
#include <stdlib.h>
int main(){
int a;
float b,c;
printf("Entre com o sexo 1.Masculino ou 2.Feminino \n");
scanf("%d", &a);
printf("Entre com sua altura no formato [1.86] \n");
scanf("%f", &b);
switch (a)
{
case 1:
c=(72.7 * b) - 58;
printf("Seu peso ideal e: %f",c);
break;
case 2:
c=(62.1*b)-44.7;
printf("Seu peso ideal e: %f",c);
break;
default:
printf("Sexo invalido");
}
return 0;
}

Faça um programa que leia 3 comprimentos (x, y e z) e responda se eles formam um triângulo, ou seja, se  x < y + z e y < x + z e z < x + y.

#include <stdio.h>
#include <stdlib.h>
int main(){
int x,y,z;
printf("Entre com tres valores inteiros \n");
scanf("%d %d %d", &x, &y, &z);
if ((x < (y + z)) && (y < (x + z)) && (z < (x + y)))
printf("Os valores %d, %d e %d formam um triangulo", x,y,z);
else
printf("Os valores %d, %d e %d NAO formam um triangulo", x,y,z);
return 0;
}

Desenvolver um algoritmo para ler o número do dia da semana e imprimir o seu respectivo nome por extenso. Considerar o número 1 como domingo, 2 para segunda etc. Caso o dia não exista (menor que 1 ou maior que 7), exibir a mensagem “Dia da semana inválido”.

#include <stdio.h>
#include <stdlib.h>
int main(){<span class="lnum">
int a;
printf("Entre um valor de 1 a 7 \n");
scanf("%d", &a);
switch (a)
{
case 1:
printf("O dia 1 e Domingo");
break;
case 2:
printf("O dia 2 e Segunda");
break;
case 3:
printf("O dia 3 e Terca");
break;
case 4:
printf("O dia 4 e Quarta");
break;
case 5:
printf("O dia 5 e Quinta");
break;
case 6:
printf("O dia 6 e Sexta, Its Friday");
break;
case 7:
printf("O dia 7 e Sábado");
break;
default:
printf("Dia da semana inválido");
}
return 0;
}

  Fazer um algoritmo para ler dois números e um dos símbolos das operações: +,- * e /. 3: Imprimir o resultado da operação efetuada sobre os números lidos.


#include <stdio.h>
#include <stdlib.h>
int main(){
int a, b, operador;
float c;
<span class="lnum"> printf("Entre dois valores \n");
scanf("%d %d", &a,&b);
printf("Entre com o Operador 1.+(soma) 2.-(subtracao) 3.*(multiplicacao) 4./ (divisao)");
scanf("%d",&operador);
switch (operador){
case 1:
printf("O resultado da soma de %d + %d = %d",a,b, a+b);
break;
case 2:
printf("O resultado da subtracao de %d - %d = %d",a,b, a-b);
break;
case 3:
printf("O resultado da multiplicacao de %d * %d = %d",a,b, a*b);
break;
case 4:
if (b == 0)
printf("Não existe divisão por 0");
else
c = (float)a/(float)b;
printf("O resultado da divisao de %d / %d = %f",a,b, c);
break;
default:
printf("Operador invalido");
break;
}
return 0;
}

Os funcionários de uma empresa receberam um aumento de salário: técnicos (código = 1),50%; gerentes (código = 2), 30%; demais funcionários (código = 3), 20%. Escrever umalgoritmo para ler o código do cargo de um funcionário e o valor do seu salário atual, calculare imprimir o novo salário após o aumento.


#include <stdio.h>
#include <stdlib.h>
int main(){
int b;
float a, c;
printf("Informe o valor atual do salario \n");
scanf("%f",&a);
printf("Entre com o codigo do funcionario \ntecnicos (codigo = 1) 50 por cento de aumento;\ngerentes (codigo = 2), 30 por cento de aumento;\ndemais funcionarios (codigo = 3), 20 por cento de aumento");
scanf("%d",&b);
switch (b){
case 1:
c = a + (a*0.50);
printf("Apos o aumento o novo salario do tecnico e %f ",c);
break;
case 2:
c = a + (a * 0.30);
printf("Apos o aumento o novo salario do gerente e %f ",c);
break;
case 3:
c = a + (a* 0.20);
printf("Apos o aumento o novo salario do funcionario e %f ",c);
break;
default:
printf("Funcionario invalido");
break;
}
return 0;
}

Desenvolver um algoritmo para ler o valor inteiro da idade de uma pessoa e imprimir uma
das mensagens: se idade < 13: Criança, se 13 = idade < 20: Adolescente, se 20 = idade <
60: Adulto e se idade = 60: Idoso.

#include <stdio.h>
#include <stdlib.h>
int main(){
int a;
printf("Entre com a Idade\n");
scanf("%d",&a);
if (a < 13)
printf("Crianca");
else if (a < 20)
printf("Adolescente");
else if (a < 60)
printf("Adulto");
else
printf("Idoso");
return 0;
}

Navegação de Posts