Buscar

I Função e Recursividade

Prévia do material em texto

Função e Recursividade
Escreva uma função que receba dois números inteiros retorne o menor número. 
#include<stdio.h>
#include<conio.h>
int menor(int num1, int num2)
{
	if ( num1<num2) {
 return num1;
	}else {
return num2;
}
int main ()
{
	int num1,num2;
	printf("Escreva o primeiro numero: ");
	scanf("%d",&num1);
	printf("Escreva o segundo numero: ");
	scanf("%d",&num2);
	printf(" \n O menor numero e: %d", menor(num1, num2));
}
Escreva uma função que calcule e retorne a distância entre dois pontos (x1, y1) e (x2, y2). Todos os números e valores devem ser do tipo float. 
#include<stdio.h>
#include<math.h>
float calculaDistancia (float Px1, float Py1, float Px2, float Py2);
	int main ()
	{
 float x1, x2,y1, y2, res;
 printf("Digite as coordenadas X e Y do ponto 1:\n");
 scanf("%f %f", &x1, &y1);
 printf("Digite as coordenadas X e Y do ponto 2:\n");
 scanf("%f %f", &x2, &y2);
 res = calculaDistancia(x1, x2, y1, y2);
 printf("A distancia entre os pontos e: %f\n", res);
 return 0;
}
float calculaDistancia (float Px1, float Px2, float Py1, float Py2) {
 float a, b, c, d;
 a = Px1 - Px2; 
 b = Py1 - Py2; 
 c = a * a + b * b; 
 d = sqrt(c); 
 return d;
}
Escreva uma função potência (base, expoente) que calcule a potência e retorne o resultado. Por exemplo, 23 = 8. 
#include <stdio.h>
int potencia (int base, int expoente)
{
 int tmp, i;
 tmp = 1; 
 while(i < expoente){
 tmp *= base;
 i++;
 }
 return (tmp);	
}
int main ()
{
	int base, expoente, res;
	printf("Digte o valor da base:\n ");
	scanf("%d", &base);
	printf("Digite o expoente:\n ");
	scanf("%d", &expoente);
	res = potencia(base, expoente);
 printf("%d elevado a %d e igual a %d\n", base, expoente, res);
}
Escreva um programa em C que receba 2 notas de um aluno, calcule e retorne a média aritmética. O programa principal recebe a média e informa ao aluno se ele foi aprovado ou reprovado. Leve em consideração que a média seja 7,0. 
#include<stdio.h>
#include<math.h>
mediaaritmetica(float n1, float n2, float media);
int main ()
{
	float n1, n2, media=0;
	printf("DIgite a primeira nota: ");
	scanf("%f", &n1);
	printf("Digite a segunda nota: ");
	scanf("%f", &n2);
	media = (n1+n2)/2;
	if (media >=7)
 {
	printf("Aluno Aprovado e sua media foi %f ", media);
 }
	else
	printf("Aluno Reprovado e sua media foi %f ", media);
	return (media);
	}
Faça uma função que recebe um inteiro e informa se ele é um número par (retorna 1) ou ímpar (retorna 0). 
#include <stdio.h>
int numero (int impar, int par);
int main ()
{
 int num;
 printf("digite um numero inteiro: ");
 scanf("%d",&num);
 if(num%2==0)
{
 printf("Par");
return(1);
}
else
printf("Impar");
return (0);
}
Faça uma função que receba um valor inteiro e verifica se o valor é positivo (retorna 1), negativo (retorna -1) ou 0 (retorna 0). 
#include<stdio.h>
#include<stdlib.h>
int teste(int num) {
 if(num> 0) {
 return 1;
 } else {
 if (num < 0){
 return -1;
 } else {
 return 0;
	}
}
}
int main ()
{
	int n;
	printf("Digite um numero \n");
	scanf("%d", &n);
	printf ("\n%d",teste(n));
	if (n > 0)
	{
	printf("\nO numero %d e positivo " , n);
	} 
	else 
	{
		if (n<0)
	printf("\nO numero %d e negativo " , n);
 }
	if (n==0)
		{
			printf("\nO valor e 0");
		}
	}
Implemente uma função recursiva que, dados dois números inteiros x e n, calcula o valor de xn.
#include <stdio.h>
int numero (int x, int n);
int main ()
{
	int x, n, soma;
	printf(" Escreva o primeiro numero: ");
	scanf("%d" ,&x);
	printf(" Escreva o segundo numero: ");
	scanf("%d" ,&n);
	soma = (x+n);
 printf (" O valor de xn e %d ", soma);
}
Usando recursividade, calcule a soma de todos os valores de um array de reais. 
#include <stdio.h>
int soma (int vetor [5], int tamanho)
{
if (tamanho ==1)
return vetor [0];
else
return vetor [tamanho-1]+ soma(vetor, tamanho -1);
}
int main ()
{
	int vetor[5]= {3, 2, 3, 4, 5};
	int resultado = soma( vetor, 5);
	printf("%d", resultado);
	return 0;		
}
BOM ESTUDO!

Continue navegando