1. //1a questão - INICIO
#include <stdio.h>
#include <math.h>
struct Circulo
{
int coordX;
int coordY;
int raio;
};
int main()
{
int d;
struct Circulo c1, c2;
printf("Digite os dados do primeiro circulo: ");
scanf("%d %d %d",&c1.coordX,&c1.coordY,&c1.raio);
printf("nDigite os dados do segundo circulo: ");
scanf("%d %d %d",&c2.coordX,&c2.coordY,&c2.raio);
d = sqrt( (c1.coordX-c2.coordX)*(c1.coordX-c2.coordX) + (c1.coordY-c2.coordY)*(c1.coordY-
c2.coordY));
if(d > (c1.raio+c2.raio))
printf("nnOs circulos nao se sobrepoem.n");
else
printf("nnOs circulos se sobrepoem.n");
}
//1a questão - FIM
//2a questão - INICIO
int compara_string(char str1[], char str2[])
{
int i;
int tam2, tam2;
tam1 = strlen(tam1);
tam2 = strlen(tam2);
if(tam1 != tam2)
return 0;
else
{
for(i=0;i<tam1;i++)
{
if(str1[i] != str2[i])
{
return 0;
}
2. }
return 1;
}
}
//2a questão - FIM
//3a questão - INICIO
float desvio_padrao(float valores[], int tamanho)
{
float media=0,s=0;
int i;
for(i=0;i<tamanho;i++)
media = media + valores[i];
media = media / tamanho;
for(i=0;i<tamanho;i++)
s = s + (valores[i]-media)*(valores[i]-media);
s = s/(tamanho-1;)
s = sqrt(s);
return s;
}
//3a questao - FIM
//4a questao - INICIO
int palindromo(char str[])
{
int i,j;
int tamanho;
tamanho = strlen(str);
for(i=0,j=tamanho-1;i<j;i++,j--)
{
if(str[i] != str[j])
return 0;
}
return 1;
}
//4a questao - FIM
//5a questao - INICIO
int escalar(int vetA[], int vetB[], int tamanho)
{
int s=0,i;
3. for(i=0;i<tamanho;i++)
{
s = s + vetA[i]*vetB[i];
}
return s;
}
//5a questao - FIM
//6a questao - INICIO
int fatorial_impar_ITE(int numero)
{
int s=1,i;
if(numero%2 != 0)
{
printf("nO numero de entrada nao eh impar.");
return -1;
}
for(i=numero;i>1;i=i-2)
s = s * i;
return s;
}
int fatorial_impar_REC(int numero)
{
if(numero%2 != 0)
{
printf("nO numero de entrada nao eh impar.");
return -1;
}
if(numero==1)
return 1;
else
return numero * fatorial_impar_REC(numero - 2)
}
//6a questao - FIM
//7a questao - INICIO
int exp_ITE(int base, int expoente)
{
int i, r=1;
for(i=0;i<expoente;i++)
{
r = r*base;
}
return base;
}
4. int exp_REC(int base, int expoente)
{
if(expoente==1)
return base;
else
return base*exp_REC(base,expoente-1);
}
//7a questao - FIM
//8a questao - INICIO
void remover(int vetor[], int tamanho, int numero)
{
int i;
int pos=-1;
for(i=0;i<tamanho;i++)
{
if(vetor[i]==numero)
{
pos = i;
break;
}
}
if(pos != -1)
{
for(i=pos;i<tamanho-1;i++)
{
vetor[i] = vetor[i+1];
}
vetor[tamanho-1] = -1;
}
}
//8a questao - FIM
//9a questao - INICIO
int soma(int matriz[100][100])
{
int s = 0, i, j;
for(i=0;i<100;i++)
{
for(j=0;j<100;j++)
{
if(i!=j)
s = s + matriz[i][j];
}
}
return s;
}
5. //11a questao - INICIO
int triangular(int matriz[100][100])
{
int s = 0, i, j;
for(i=0;i<100;i++)
{
for(j=0;j<100;j++)
{
if(i!=j)
s = s + matriz[i][j];
}
}
return s;
}
//11a questao - FIM
//16a questao - INICIO
int identidade(int mat[][100])
{
int i,j;
for(i=0;i<100;i++)
{
for(j=0;j<100;j++)
{
if(i==j && mat[i][j]!=1)
return 0;
if(i!=j && mat[i][j]!=0)
return 0;
}
}
return 1;
}
//16a questao - FIM
//17a questao - INICIO
void imprime(struct aluno Alunos[])
{
int i;
for(i=0;i<100;i++)
{
if(Alunos[i].notas[0]>=7 && Alunos[i].notas[1]>=7 && Alunos[i].notas[2]>=7 &&
Alunos[i].qtdeFaltas<10)
printf("n%s",Alunos[i].nome);
}
}
6. //17a questao - FIM
//18a questao - INICIO
int restoRec(int num, int dem)
{
if(num <= dem)
return num;
else
return restoRec(num-dem,num);
}
//18a questao - FIM
//19a questao - INICIO
int somaRec(int N)
{
if(N==1)
return 1;
else
return N+somaRec(N-1);
}
//19a questao - FIM
//20a questao - INICIO
int somaImparRec(int N)
{
if(N==1)
return 1;
else
return 2*N-1 + somaImparRec(N-1);
}
//20a questao - FIM