Buscar

Lista 4 (2013)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

IFAM/CMDI 1 
Algoritmos e Programação/ Prof. Isaac Benjamim Benchimol 2013/1 
Lista de Exercícios 4 
 
 
1. As declarações seguintes: 
 char *estadosNO[9] ={“AC”,”AM”,”AP”,”PA”,”RO”,”RR”,”TO”}; 
 
 Escreva um programa que imprima o vetor estadosNO. Os dois últimos 
elementos de estadosNO assumem quais valores? 
2. Faça um programa que apresente o seguinte resultado (utilize ponteiro): 
 Digite uma string: Este programa separa as palavras, como segue: 
 
 Suas palavras são: 
 
[Este] 
[programa] 
[separa] 
[as] 
[palavras,] 
[como] 
[segue:] 
 
3. Faça um programa para inverter a caixa usando ponteiro. 
4. Escreva um programa que solicite ao usuário duas strings e depois compare as 
strings à procura de igualdade, mas ignore diferenças de caixa. Assim, “ok” e “OK” 
serão comparadas como iguais. 
5. Dado um vetor de inteiros com 10 posições, construa uma função que retorne a 
média. 
6. Escreva e teste a seguinte função: 
int frequency(float a[], int n, int x); 
Essa função conta o número de vezes que o item x aparece entre os primeiros n elementos 
de a e retorna essa contagem como a frequência de x em a. 
7. Escreva e teste a seguinte função: 
float innerProduct(float a[], int n, float b[]); 
A função retorna o produto interno(também chamado de “produto ponto” ou “produto 
escalar”) dos primeiros n elementos de a com os n primeiros elementos de b. Isso é 
definido como a soma dos produtos de termos correspondentes. Por exemplo, se a for 
{2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9} e b for {4.0,-3.0,2.0,-1.0,0.0,0.0}, a chamada 
innerProduct(a, 5, b) retornaria (2.2)(4.0) + (3.3)(-3.0) + (4.4)(2.0) + (5.5)(-1.0) + 
(6.6)(0.0) = 2.2 
8. Dado um vetor de inteiros com 10 posições, construa uma função que retorne se 
ele está em ordem crescente (V) ou se não está (F) 
9. Um número é capicua quando pode ser lido da esquerda para a direita ou da 
direita para a esquerda. Construa uma função que retorne se dado número é 
capicua (V) ou não (F) 
10. O que imprime o código a seguir ? 
char s[]= “123 W. 42nd St., NY, NY 10020-1095”; 
int count = 0; 
for (char *p=s; *p; p++) 
 if (isupper(*p)) ++count; 
 printf(“%d”,count);

Outros materiais