Baixe o app para aproveitar ainda mais
Prévia do material em texto
s Universidade Federal do Recôncavo da Bahia Centro de Ciências Exatas e Tecnológicas Bacharelado em Ciências Exatas e Tecnológicas Processamento de Dados II – prof. Tiago Oliveira Motta Vetores ou Arrays PROGRAMA EXEMPLO: Em uma turma de 15 alunos, deseja-se calcular a média da turma, a partir de notas lidas pelo teclado. Fazer um programa que leia as 15 notas e ao final imprima a média da turma e o número de alunos que estão acima da média calculada. /* Programa para calcular média de uma turma de 15 alunos * e número de alunos acima da média da turma */ #include <stdio.h> #define NUM_ALUNOS 15 #define MEDIA 6.f int main() { float nota[NUM_ALUNOS], media=0; int i, acima=0; /* Leitura das notas */ for(i=0; i < NUM_ALUNOS; i++) { do { printf(“Qual a nota do %d o. aluno? ",( i+1)); scanf(“%f”, ¬a[i]); } while (nota[i] < 0 || nota[i] > 10); media += nota[i]; } media /= NUM_ALUNOS; printf("A media da turma foi de %f\n”,media); /* Procura dos alunos acima da media da turma */ for(i=0; i<NUM_ALUNOS; i++) { if(nota[i] > media) acima++; } printf("O numero de alunos acima da media da turma foi de %d\n”,acima); return 0; } Um pesquisador quer estudar as variações de temperatura ao longo do dia em uma localidade. Para isso ele mede a temperatura a cada 1 hora. Ao final do dia ele quer saber a temperatura média e em que horários a temperatura esteve abaixo da média. Faça um programa que leia as temperaturas lidas e forneça as informações que o pesquisador precisa. Um armazém trabalha com um determinado número de mercadorias diferentes (um máximo de 100 itens). Faça um programa que leia e armazene em vetores os preços de cada mercadoria e a quantidade vendida no mês, calcule e imprima: o faturamento mensal do armazém, o número (índice) da mercadoria mais vendida e da menos vendida. Qual é o preço da mercadoria menos vendida? Quantas mercadorias tem seu preço mais alto que o preço da mercadoria menos vendida? Seja o polinômio: P(X) = anXn + an-1Xn-1 + an-2Xn-2 + .... + a1X + a0 Escreva um programa que leia um número real x, a ordem do polinômio n (no máximo 20), os coeficientes ai e calcule o resultado. Imprima o polinômio lido e o valor calculado. PROGRAMA EXEMPLO: Faça um programa que leia uma frase de até 80 caracteres, e duas letras quaisquer do usuário. A seguir, troque na frase todas as ocorrências da primeira letra fornecida pela segunda e imprima a nova frase. /* Programa para troca de todas as ocorrências de um caracter por outro * em uma frase */ #include <stdio.h> #define TAMANHO 80 int main() { char frase[TAMANHO], trocar, por; int i; /* Leitura da frase */ do { printf("Qual a frase ? "); gets(frase); } while (frase[0] == '\0'); /* Letra a ser substituida na frase */ printf("Trocar... "); fflush(stdin); scanf("%c", &trocar); printf("Por... "); fflush(stdin); scanf("%c", &por); /* Troca das letras em toda a frase */ for(i=0; i<TAMANHO && frase[i] != '\0'; i++) { if(frase[i] == trocar) frase[i] = por; } printf("A nova frase eh: %s\n", frase); } Para enviar mensagens que não devem ser lidas por estranhos, pode-se codificá-las. Faça um programa que leia uma frase de até 100 caracteres e a seguir codifique essa frase da seguinte forma: cada letra que se encontra em posição ímpar tem seu valor ASCII somado com 2 e cada letra que se encontra em posição par é substituida é trocada por outra 3 posições atrás dela na tabela ASCII. Imprima a frase codificada. Faça um programa que decodifique uma frase codificada segundo o algoritmo acima. Utilize as seguintes funções de caracteres, para fazer os exercícios subseqüentes. Elas se encontram na biblioteca ctype.h int isalnum(int ch) – retorna verdadeiro se ch for um caracter alfanumérico (número ou letra) int isalpha(int ch) – retorna verdadeiro se ch for uma letra int isdigit(int ch) – retorna verdadeiro se ch for um número int islower(int ch) – retorna verdadeiro se ch for uma letra minúscula int ispunct(int ch) – retorna verdadeiro se ch for um sinal de pontuação int isspace(int ch) – retorna verdadeiro se ch for um espaço em branco ou tabulação int isupper(int ch) – retorna verdadeiro se ch for maiúscula int tolower(int ch) – retorna ch transformado em letra minúscula int toupper(int ch) – retorna ch transformado em letra maiúscula PROGRAMA EXEMPLO (INCOMPLETO) Complete o programa abaixo para que leia uma frase de até 80 caracteres e a seguir imprima: quantos caracteres foram digitados quantos espaços brancos existem na frase; quantos desses caracteres são minúsculos e quantos são maiúsculos quantos desses caracteres são dígitos quantos desses caracteres são de pontuação #include <stdio.h> #include <ctype.h> #define TAMANHO 80 void main() { char frase[TAMANHO]; int i, tamanho=0, branco=0, minusc=0, maiusc=0, digitos=0, pontuacao=0; /* Leitura da frase */ do { printf("Qual a frase? "); gets (frase); } while (frase[0] == '\0'); /* Procura dos caracteres pedidos */ for(i=0; i < TAMANHO && frase[i] != '\0'; i++) { tamanho++; if(isspace(frase[i])) branco++; if(islower(frase[i])) minusc++; /* continue aqui.... */ } printf("A frase contem %d caracteres\n", tamanho); printf("O numero de espacos em branco eh de %d\n", branco); printf("O numero de caracteres minúsculos eh de %d\n", minusc); /* continue aqui */ } Faça um programa que leia uma frase de até 80 caracteres e inverta todas as letras maiúsculas para minúsculas e vice-versa e além de colocar um hífem no lugar de todos os espaços em branco. Imprima o resultado. �
Compartilhar