Você está na página 1de 11

1. Fazer um programa para receber um nmero inteiro de segundos do usurio 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 usurio e determinar se estes valores podem formar os lados de um tringulo. Em caso afirmativo, informar se o tringulo eqiltero, issceles 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 no inteiros do usurio e mostra o maior deles, o menor deles e a mdia. 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 nmero 3025 possui a seguinte caracterstica: 30 + 25 = 55 -> 55*55 = 3025. Fazer um programa para obter todos os nmeros de 4 algarismos com a mesma caracterstica do nmero 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 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; }

46. Faa um programa que: a. leia 7 valores inteiros e os armazene em um vetor. Listar o vetor com as referidas posies de armazenamento de cada valor. b. oferea uma funo de pesquisa onde dado um valor inteiro qualquer de entrada retornar a posio deste valor dentro do vetor, e caso este valor no esteja presente no vetor retornar 1. c. oferea uma funo que troque os valores contido no vetor pela seguinte poltica: cada elemento i dentro do vetor ser substitudo pela soma de todos os (i-1) elementos mais o elemento i. Por exemplo, dado um vetor [1; 2; 3; 4; 5] aps a aplicao da funo teramos 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; }