Você está na página 1de 11

1.

Fazer um programa para receber um número inteiro de segundos do usuário e


imprimir a quantidade correspondente em horas, minutos e segundos.

int main(void)
{
int seg,min,hor;
printf("Digite o tempo total em segundos: ");
scanf("%i",&seg);
hor = seg \ 3600;
seg = seg % 3600;
min = seg \ 60;
seg = seg % 60;
printf("total: %i:%i:%i\n",hor,min,seg);
return 0;
}

4. Fazer um programa para receber valores inteiros X, Y e Z do usuário e determinar se


estes valores podem formar os lados de um triângulo. Em caso afirmativo, informar
se o triângulo é eqüilátero, isósceles ou escaleno.

int main(void)
{
int x,y,z,tmp;
printf("Informe 3 medidas de um triangulo \n");
printf("x: ");
scanf("%i",&x);
printf("y: ");
scanf("%i",&y);
printf("z: ");
scanf("%i",&z);

if(x<(y+z))
{
if(y>z)
{
tmp = y-z;
}
else
{
tmp = z-y;
}
if(tmp >= x)
{
printf("Estas medidas nao formam um triangulo!!");
return 0;
}
}
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;
}

5. Fazer um programa que recebe 3 valores não inteiros do usuário e mostra o maior
deles, o menor deles e a média.

int main(void)
{
float vlr1, vlr2, vlr3, media, tmp;
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;
}

7. O número 3025 possui a seguinte característica: 30 + 25 = 55 -> 55*55 = 3025.


Fazer um programa para obter todos os números de 4 algarismos com a mesma
característica do número 3025.

int main(void)
{
int tmp1,cnt;
printf("numeros com a caracteristica: aabb -> aa+bb = cc -> cc*cc = aabb\n");
cnt=0;
while(cnt<10000)
{
tmp1 = (cnt/100)+(cnt%100);
tmp1 = tmp1 * tmp1;
if(tmp1==cnt)
{
printf("%i ",cnt);
}
cnt=cnt+1;
}
return 0;
}

10. Fazer um programa para receber um número inteiro do usuário e determinar se este
número é primo ou não.

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 número do usuário 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 números do usuário e calcular o seu MDC
utilizando o método de Euclides. O programa deve continuar pedindo dois números
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 número inteiro do usuário e exibir o maior número
primo que seja menor do que o número 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. Faça um programa que dado o vetor unidimensional [2; 4; 35; 50; 23; 17; 9; 12; 27;
5] retorne:
a. maior valor
b. média 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;
}

46. Faça um programa que:


a. leia 7 valores inteiros e os armazene em um vetor. Listar o vetor com as
referidas posições de armazenamento de cada valor.
b. ofereça uma função de pesquisa onde dado um valor inteiro qualquer de
entrada retornar a posição deste valor dentro do vetor, e caso este valor
não esteja presente no vetor retornar –1.
c. ofereça uma função que troque os valores contido no vetor pela seguinte
política: cada elemento i dentro do vetor será substituído pela soma de
todos os (i-1) elementos mais o elemento i. Por exemplo, dado um vetor
[1; 2; 3; 4; 5] após a aplicação da função teríamos esse vetor preenchido
com os seguintes valores [1; 3; 6; 10; 15]. Para esta tarefa utilize um vetor
auxiliar.

int main(void)
{
int vet[7],aux[7],cnt,tmp,tmp2;
printf("digite 7 valores a serem armazenados!\n");
cnt=0;
while(cnt<=6)
{
printf("Valor: ");
scanf("%i",&vet[cnt]);
cnt=cnt+1;
}
cnt=0;
while(cnt<=6)
{
printf("Valor na posicao %i do vetor: %i\n",cnt,vet[cnt]);
cnt=cnt+1;
}
printf("Digitar um valor para verificar se estah armazenado no vetor: ");
scanf("%i",&tmp);
tmp2=0;
cnt=0;
while(cnt<=6)
{
if(vet[cnt]==tmp)
{
printf("Este valor se encontra posicao %i do vetor!!\n",cnt);
tmp2=tmp2+1;
}
if(cnt==6)
{
if(tmp2==0)
{
printf("Nao existe este valor no vetor!! -1 \n");
}
}
cnt=cnt+1;
}
tmp=0;
cnt=0;
while(cnt<=6)
{
tmp=tmp+vet[cnt];
aux[cnt]=tmp;
cnt=cnt+1;
}
printf("Apos aplicar as regras de substituicao,\nos valores dos vetores passam a ser os
seguintes:\n\n");
cnt=0;
while(cnt<=6)
{
printf("Valor na posicao %i do vetor: %i\n",cnt,aux[cnt]);
cnt=cnt+1;
}
return 0;
}

Você também pode gostar