Escolar Documentos
Profissional Documentos
Cultura Documentos
Exercicios de Programacao em C Resolvidos
Exercicios de Programacao em C Resolvidos
}
}
else
{
printf("Estas medidas nao formam um triangulo!!");
return 0;
}
if(x==y)
{
if(x==z)
{
printf("EQUILATERO");
}
else
{
printf("ISOSCELES");
}
}
else
{
if(x==z)
{
printf("ISOSCELES");
return 0;
}
if(y==z)
{
printf("ISOSCELES");
return 0;
}
else
{
printf("ESCALENO");
return 0;
}
}
return 0;
}
printf("digite 3 valores!\n");
printf("Valor 1: ");
scanf("%f",&vlr1);
printf("Valor 2: ");
scanf("%f",&vlr2);
printf("Valor 3: ");
scanf("%f",&vlr3);
media = (vlr1+vlr2+vlr3)/3;
if(vlr1>vlr2)
{
tmp = vlr1;
vlr1 = vlr2;
vlr2 = tmp;
}
if(vlr2>vlr3)
{
tmp = vlr2;
vlr2 = vlr3;
vlr3 = tmp;
}
if(vlr1>vlr2)
{
tmp = vlr1;
vlr1 = vlr2;
vlr2 = tmp;
}
printf("Maior valor: %f - Menor valor: %f - Media: %f",vlr3,vlr1,media);
return 0;
}
printf("%i ",cnt);
}
cnt=cnt+1;
}
return 0;
}
10. Fazer um programa para receber um nmero inteiro do usurio e determinar se este
nmero primo ou no.
int main(void)
{
int vlr,cnt;
printf("Digite um valor para ver se e primo: ");
scanf("%i",&vlr);
cnt = 2;
while(cnt<vlr)
{
if((vlr%cnt)==0)
{
cnt=vlr+1;
}
cnt=cnt+1;
}
if(vlr==cnt)
{
printf("O numero %i eh primo!!",vlr);
}
else
{
printf("O numero %i nao eh primo!!",vlr);
}
return 0;
}
11. Fazer um programa para receber um nmero do usurio e decomp-lo em fatores
primos.
int main(void)
{
int vlr,cntPrm,tmp,sair;
printf("Diginte um valor para ser decomposto em FATORES PRIMOS: ");
scanf("%i",&vlr);
tmp = vlr;
cntPrm = 2;
while(vlr!=1)
{
if((vlr%cntPrm)==0)
{
if(vlr!=cntPrm)
{
vlr = vlr/cntPrm;
printf("%i * ",cntPrm);
}
else
{
printf("%i = %i",cntPrm,tmp);
return 0;
}
}
else
{
cntPrm= cntPrm+1;
sair = 2;
while(sair<cntPrm)
{
if((cntPrm%sair)==0)
{
cntPrm= cntPrm+1;
}
else
{
sair=sair+1;
}
if(cntPrm==vlr)
{
sair = cntPrm;
}
}
}
}
return 0;
}
12. Fazer um programa para receber dois nmeros do usurio e calcular o seu MDC
utilizando o mtodo de Euclides. O programa deve continuar pedindo dois nmeros
at que 0 e 0 sejam fornecidos.
int main(void)
{
int vlr1,vlr2,sair;
sair=0;
while(sair==0)
{
printf("Digite dois valores para calular o MDC entre eles!!\n");
printf("para sair, digite zero nos dois valores!!\n\n");
printf("Valor 1: ");
scanf("%i",&vlr1);
printf("Valor 2: ");
scanf("%i",&vlr2);
if(vlr1==0)
{
if(vlr2==0)
{
return 0;
}
else
{
printf("Nao e possivel calcular MDC com um dos valores igual a zero!!\n");
sair=1;
}
}
else
{
if(vlr2==0)
{
printf("Nao e possivel calcular MDC com um dos valores igual a zero!!\n");
sair=1;
}
}
while(sair==0)
{
if(vlr1>vlr2)
{
vlr1 = vlr1-vlr2;
if(vlr1 <= 0)
{
sair = 1;
printf("MDC ...: %i\n\n",vlr2);
}
}
else
{
vlr2 = vlr2-vlr1;
if(vlr2 <= 0)
{
sair = 1;
printf("MDC ...: %i\n\n",vlr1);
}
}
}
sair=0;
}
return 0;
}
25. Escrever um programa para ler um nmero inteiro do usurio e exibir o maior nmero
primo que seja menor do que o nmero digitado.
int main(void)
{
int vlr,prm,cnt;
printf("Digite um valor para checar o maior numero primo ate o numero digitado: ");
scanf("%i",&vlr);
cnt = vlr;
while(cnt>1)
{
cnt=cnt-1;
while(cnt>1)
{
if((vlr%cnt)==0)
{
vlr=vlr-1;
cnt = vlr - 1;
}
else
{
cnt=cnt-1;
}
}
}
printf("O maior numero primo neste intervalo e: %i",vlr);
return 0;
}
45. Faa um programa que dado o vetor unidimensional [2; 4; 35; 50; 23; 17; 9; 12; 27;
5] retorne:
a. maior valor
b. mdia dos valores
c. os valores dispostos em ordem crescente
d. sub conjunto de valores primos que est contido no vetor
int main(void)
{
int vet[10],cnt,maior,media,seq,pos,tmp;
vet[0] = 2;
vet[1] = 4;
vet[2] = 35;
vet[3] = 50;
vet[4] = 23;
vet[5] = 17;
vet[6] = 9;
vet[7] = 12;
vet[8] = 27;
vet[9] = 5;
cnt=0;
maior=0;
media=0;
while(cnt<10)
{
if(maior<vet[cnt])
{
maior = vet[cnt];
}
media = media + vet[cnt];
cnt=cnt+1;
}
media = media/cnt;
seq = maior;
cnt = 0;
pos = 9;
while(pos>0)
{
if(vet[cnt]==seq)
{
tmp = vet[pos];
vet[pos] = vet[cnt];
vet[cnt] = tmp;
pos=pos-1;
cnt = 0;
seq=seq-1;
}
else
{
cnt=cnt+1;
}
if(cnt==10)
{
seq=seq-1;
cnt = 0;
}
}
printf("O maior valor eh: %i\n",maior);
printf("A media eh......: %i\n",media);
cnt = 0;
while(cnt<10)
{
if(cnt<9)
{
printf("%i, ",vet[cnt]);
}
else
{
printf("%i",vet[cnt]);
}
cnt=cnt+1;
}
return 0;
}