Anda di halaman 1dari 13

Alguns Exercicios pra ajudar na compreeno de Programao em C:

1. Escrever um programa que leia um vetor de 30 elementos inteiros e no final mo stre os valores do vetor que so maiores do que a media dos valores digitados. #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) {int v[30],media,i; media=0; for(i=0;i<8;i++){ scanf("%d",&v[i]); media=media+v[i]; } media=media/8; printf("media:%d\n",media); for(i=0;i<8;i++){ if(v[i]>media) {printf("%d\n",v[i]); } } system("PAUSE"); return 0;} 2. Escrever um programa que declare um vetor de 20 inteiros, leia um valor para cada posio e no final mostre quantos elementos possuem valor maior, menor e igual ao primeiro elemento do vetor. #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) {int v[20],i; for(i=0;i<8;i++){ scanf("%d",&v[i]);} for(i=0;i<8;i++){

if(v[i]>v[1]) {printf("maior%d\n",v[i]); if(v[i]==v[1]) {printf("igual%d\n",v[i]); if(v[i]<v[1]) {printf("menor%d\n",v[i]); } }}} system("PAUSE"); return 0;} 3. Escrever um programa que, usando um for, exiba o caractere, cdigo ASCII e valo r hexadecimal para todas as letras no intervalo de 'A' a 'Z', uma por linha, no seguinte formato: A - 65 - 41 B - 66 - 42 C - 67 - 43 #include <stdio.h> #include <stdlib.h> #include <tchar.h> #include <ctype.h> int main(int argc, char *argv[]) { char ch, resposta= 'S' ; do { system ("cls"); ch ='\0'; printf("\n Digite um caracter: \n"); scanf("%c",&ch); printf("\n O caracter digitado foi: %c", ch); printf("\n O codigo ASCII e': %d\n", ch);

fflush(stdin); printf ("\n vai continuar e ai: (S\\N) ?" ); resposta= toupper(getche()); } while (resposta='S'); printf("\n"); system("PAUSE"); return 0;} 4. Faca um programa que receba 10 valores inteiros e que indique: quantos so pare s, quantos so impares, quantos so positivos e quantos so negativos. #include (stdio.h) #include (stdlib.h) main() {{ int n1, n2, n3, n4, n5, n6, n7, n8, n9, n10; int n_pares=0, n_impares=0, n_pos=0, n_neg=0; printf("digite o 1.. nmero inteiro"); scanf("%d",&n1); if (n1 % 2 == 0) n_pares++; else n_impares++; if (n1 > 0) n_pos++; else n_neg++; printf("digite o 2. nmero inteiro"); scanf("%d",&n2); if (n2 % 2 == 0) n_pares++; else n_impares++; if (n2 > 0) n_pos++; else n_neg++; printf("digite o 3. nmero inteiro"); scanf("%d",&n3); if (n3 % 2 == 0) n_pares++; else n_impares++;

if (n3 > 0) n_pos++; else n_neg++; printf("Resultados\n"); printf(" %d nmeros pares\n",n_pares); printf(" %d nmeros impares\n",n_impares); printf(" %d nmeros positivos\n",n_pos); printf(" %d nmeros negativos\n",n_neg); } system("PAUSE"); return 0;} 5. Crie um programa em C que calcule o salrio de um empregado baseado no n.o de h oras que trabalhou, e no seu salrio por hora. Notas: a) As horas extras (> 40) so pagas em dobro. b) O numero de horas trabalhadas e o valor por hora devem ser Informados pelo usurio. #include <stdio.h> #include <stdlib.h> #define extras 160 main(){{ float horas, salario_hora, salario; printf("indique o n. de horas que trabalhou este mes: "); scanf("%f",&horas); printf("indique quanto ganha por hora (em reais): "); scanf("%f",&salario_hora); if (horas > 160) salario = 2 * salario_hora * (horas - 160) + salario_hora * 160; else salario = salario_hora * horas; printf("O seu salrio vai ser: %.2f",salario);} system("PAUSE");

return 0;} 6. Faca um programa que escreva na tela uma tabela de converso de graus Celsius p ara Fahrenheit. A tabela deve apresentar os graus Celsius de 0 a 100 com interva los de 2 em 2. 7. Faca um programa que, atravs de uma funo, converta um valor de temperatura lida em Celsius em fahrenheit e mostre o resultado na tela. #include (stdio.h) #include (stdlib.h) int main(int argc, char *argv[]) { int tc, tf; printf("digite a temperatura em fahrenheit"); scanf("%i",&tc); for(i>=-100;&& i<=+100;i++); tc==((9*i)/5)+32); if (tf==i); printf("tf equivale a: ,"tc",em graus celsius"); system("PAUSE"); return 0; } 8. Faca uma funo que receba uma palavra e exiba cada caractere da palavra em uma l inha. Teste essa funo na funo principal do programa desenvolvido. #include (stdio.h) #include (stdlib.h) #include (string.h) int contaCaracteres (char palavra, char letra); int main(int argc, char *argv[]) { char texto[100], letra;

int total; scanf("%s", texto); getchar(); scanf("%c", &letra);

total = contaCaracteres (texto, letra); printf("A letra %c aparece %d vezes na palavra %s.", letra, total, texto); return 0; } int contaCaracteres (char *palavra, char letra) { int tamanho, i, total=0; tamanho = strlen(palavra); for (i=0;i<tamanho;i++) { if (palavra[i]==letra) total++; system("PAUSE"); return 0; } 9. Faca uma funcao que receba uma palavra e exiba a palavra invertida. Teste ess a funcao na funcao principal do programa desenvolvido. #include <stdio.h> #include <conio.h> #include <string.h> void inverter() { char str[200]; int i,length; printf("\nDigite a string(sem espacos): "); scanf("%s",&str); printf("\n\n\n"); length=strlen(str); for (i=length;i>=0;i--) { printf("%c",str[i]); }} int main(int argc, int * argv[]) { }

inverter(); printf("\n\n\nPressione qualquer tecla para finalizar..."); getch(); return(0); } 10.Faa um programa que vai pedindo nmeros ao utilizador ate que este introduza o n umero -1. O computador deve dizer a media dos nmeros introduzidos (excluindo o -1 ). #include <stdio.h> #include <conio.h> int main(int argc, int * argv[]){ float input,soma,media; int counter; soma=0; counter=-1; media=0; input=0; do{ counter=counter+1; soma=soma+input; printf("Digite o valor: "); scanf("%f", &input); } while (input>=0) ; media = soma / counter; printf("A media dos valores eh: %f ", media); printf("\n\n\nPressione qualquer tecla para finalizar..."); getch(); return(0);} 11. Altere o programa anterior, de modo que ele fornea o mnimo, Maximo e media dos valores lidos. #include <stdio.h>

#include <stdlib.h> int main(int argc, char *argv[]) { int i, valor1, valor2, valor3, valor4, valor5, media; {printf (valor1, valor2, valor3, valor4, valor5) media == (valor1+valor2+valor3+valor4+valor5)/5; if (valor1>media) ; printf(valor1); else if (valor2>media) ; printf(valor2); else if (valor3>media); printf(valor3); else if (valor4>media); printf(valor4); else if(valor5>media); printf(valor5); else system("PAUSE"); return 0;} 12. Criar um programa que contenha a funo void estao (int dia, int ms), que exibe no vdeo qual a estao do ano da data passada por parmetro. Lembrando que a primavera com ea no dia 23 de setembro, o vero em 21 de dezembro, o outono em 21 de marco e o in verno em 21 de junho. Estao(25,10); ? sada: 25/10 e primavera. estao(29,12); ? sada: 2 9/12 e vero. #include <stdio.h> #include <conio.h> void estacao(int day, int mes) { int season; if (mes<=3)

{season=2; if ((mes==3) && (day>=21)) season=3; } if ((mes<=6) && (mes>3)) { season=3; if ((mes==6) && (day>=21)) season=4; } if ((mes<=9) && (mes>6)) { season=4; if ((mes==9) && (day>=23)) season=1; } if ((mes<=12) && (mes>10)) { season=1; if ((mes==12) && (day>=21)) season=2; } if (season==1) printf("%d/%d eh primavera.",day,mes); if (season==2) printf("%d/%d eh verao.",day,mes); if (season==3) printf("%d/%d eh outono.",day,mes); if (season==4) printf("%d/%d eh inverno.",day,mes); } int main(int argc, int * argv[]) { int day,month; do { printf("\nDigite o Dia,Mes (mes 13 para sair): "); scanf("%d,%d",&day,&month); estacao(day,month);

} while ((month<13) && (day<31)); printf("\n\n\nPressione qualquer tecla para finalizar..."); getch(); return(0);} 13. Escrever um programa que paradas) e mostra os valores ois o maior). A leitura deve ostra(). O programa no pode leia 2 variveis int (pode ser um vetor ou variveis se digitados em ordem crescente (primeiro o menor, dep ser feita na funo main() e a exibio em uma funo chamada m ter variveis globais.

14. Escrever um programa que leia quatro valores float e mostre o maior e o meno r valor digitado. A leitura deve ser feita em uma funo chamada leitura() e o resul tado deve ser exibido em uma funo chamada exibe(), sendo que no pode ser declarada nenhuma varivel global. #include (stdio.h) #include (stdlib.h) int main() { int a,b; scanf("%d %d", &a, &b); if (a>b) printf("%d maior que %d.", a, b); else if (b>a) printf("%d menor que %d.", a, b); else printf("so valores iguais."); return 0;} 15.Faca um programa que obtenha do teclado o valor n e imprima na tela os n prim eiros termos de uma seqncia de Fibonacci. Para isso, crie uma funo chamada Fibonacci que recebe o numero n. Observao: Uma seqncia e dita de Fibonacci quando os dois primeiros termos forem 0 e 1 e todos os termos consecutivos tenham valor igual a soma dos dois termos anter iores. Exemplo: 1 1 2 3 5 8 13 21 34 55 . . .

#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) {

int anterior=1, atual=1, n, proximo, total=0; printf("digite ate qual termo da serie fibonacci deseja obter"); scanf("%d",&n); printf("%d\n", anterior); printf("%d\n", atual); while (total<=n) { proximo = anterior + atual; anterior = atual; atual = proximo; printf("%d\n", proximo); total++; } system("PAUSE"); return 0;}} 16.No Brasil existem as moedas e 1, 5, 10, 25 e 50 centavos, e notas de 1, 2, 5, 10, 20, 50 e 100 Reais (desconsiderando a moeda de 1 Real). Faa um programa que dado um valor em reais, mostre a menor combinao de notas e moedas existente para e sse valor. EX: R$18,67 = 1 nota de 10 reais, 1 nota de 5 reais, 1 nota de 2 reais, 1 nota d e 1 real, 1 moeda de 50 centavos, 1 moeda de 10 centavos, 1 moeda de 5 centavos, 2 moedas de 1 centavo. #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) {int i, valorPago, valorProduto, troco, quantidade, inteiro; printf( valorPago, valorProduto ); troco =valorPago valorProduto;

printf("O valor total do troco ", troco); if (troco \ 50==0); quantidade =troco \ 50; troco = troco % 50; printf ("A quantidade de notas de R$ 50 ", quantidade); else

if (troco \ 20==0); printf=troco \ 20; troco = troco % 20; printf ("A quantidade de notas de R$ 20 ", quantidade); else if (troco \ 10 <> 0); quantidade = troco \ 10; troco=troco % 10; printf("A quantidade de notas de R$ 10 ", quantidade); else if (troco \ 5 == 0); quantidade = troco \ 5; troco = troco % 5; printf ("A quantidade de notas de R$ 5 ", quantidade); else if (troco \ 2 == 0); quantidade =troco \ 2; troco = troco % 2; printf ("A quantidade de notas de R$ 2 ", quantidade); else if (troco \ 1 == 0); quantidade = troco \ 1 troco = troco % 1 printf ("A quantidade de notas de R$ 1 ", quantidade); else system("PAUSE"); return 0; } 17.Faca um algoritmo que receba trs valores que representaro os lados de um triang ulo e sero fornecidos pelo usurio. Verifique se os valores formam um triangulo e c lassifique esse triangulo como: eqiltero trs lados iguais; issceles dois lados iguai

s; escaleno

trs lados diferentes;

Lembre-se de que, para formar um triangulo: Nenhum dos lados pode ser igual a ze ro; Um lado no pode ser maior do que a soma dos outros dois. #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int lado1, lado2, lado3; scanf("%d %d %d", &lado1, &lado2, &lado3); if ((lado1>=lado2+lado3) || (lado2>=lado1+lado3) || (lado3>=lado1+lado2)) { printf("Os lados nao sao valores de um triangulo.\n"); return 0; } else { if ((lado1==lado2) || (lado2==lado3)) printf("Os lados formam um triangulo equilatero."); else if ((lado1!=lado2) && (lado2!=lado3) && (lado3!=lado1)) printf("Os lados formam um triangulo escaleno."); else printf("Os lados formam um triangulo isoceles."); } system("PAUSE"); return 0; }

Anda mungkin juga menyukai