Escolar Documentos
Profissional Documentos
Cultura Documentos
Prof: Luanna
Tabela 1
Tabela 2
Expressão i *P_2 &J &P_2 **P_3 **P_4 ***P_4 *P_1 *&P_2 *P_4
Resultado 4 12 6 18 14 16 17 9 19 15
2 - Crie e teste a função void InverteS(char *s) que retorna uma string invertida, utilizando
ponteiros.
R=
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
reverse_string[comprimento] = '\0';
return reverse_string;
reverse_string[comprimento] = '\0';
int main()
char s[50];
gets(s);
free(rs1);
return 0;
}
3- Faça um programa que dado 2 variáveis inteiras a=2 e b=3, use a função void troca(int *a1,
int *b1), que deve fazer a inversão dos valores de a e b. Após a chamada da função, imprimir
os valores de a e b. A função troca também deve ser implementada e deve ter tipo de retorno
void. Todas as manipulações deve se dar usando ponteiros.
R=
#include <stdio.h>
#include <assert.h>
float c;
c = *a;
*a = *b;
*b = c;
int main(){
troca(&num1, &num2);
return 0;
4 - Fazer uma função que recebe 3 parâmetros: um vetor de inteiros, um número inteiro n
enviado com passagem por valor e outro número x enviado como passagem por referência.
Em uma função verifica(), envie todos os elementos utilizando ponteiros para suas
manipulações e veja se os números n e x estão no vetor e imprima se estiver.
R=
#include <stdio.h>
#include <locale.h>
int i;
for (i=0;i<5;i++){
if (vet[i]==n)
if (vet[i]==*x)
int main(){
setlocale(LC_ALL,"Portuguese");
int vet[5],n,x,i;
for (i=0;i<5;i++)
scanf("%d",&vet[i]);
verifica(vet,n,&x);
system ("pause");
}
5- Faça um programa que tendo como entrada dois pontos quaisquer do plano P(x1,y1) e
Q(x2,y2), utilizando ponteiros para passagem dos valores, imprima a distância entre eles.
Fórmula da distância
R=
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <math.h>
int main(){
float x1,x2,y1,y2,r,r1;
scanf("%f", &x1);
scanf("%f", &x2);
scanf("%f", &y1);
scanf("%f", &y2);
r1= (x2-x1)*(x2-x1)+(y2-y1)*(y2-y1);
system("PAUSE");
return 0;
}
6- Construa um programa que calcule a quantidade de latas de tinta necessárias e o custo para
pintar tanques cilíndricos de combustível. Use ponteiros para envio dos dados a uma função
calcula(). Onde são fornecidos a altura e o raio desse cilindro
R=
#include<math.h>
#include<stdio.h>
#include<string.h>
#define pi 3.1415
int main(){
scanf("%f",&precolata);
scanf("%d",&raio);
scanf("%f",&alt);
a_base = pi * pow(raio,2);
7- Escreva um programa que lê três números inteiros do teclado e, utilizando uma função e
acessando os números no vetor por meio de ponteiros, ordene os três números e imprima-os
em ordem crescente
R=
#include <stdio.h>
main(){
int num[3],b,c,a,maior_num=0,menor_num=0,medio_num=0;
printf("Escreva 3 numeros:\n");
scanf("%d %d %d",&num[0],&num[1],&num[2]);
for(a=0;a<3;a++){
if(num[a]>num[a+1]){
num[a]=maior_num;
for(b=0;b<3;b++){
if(num[b]<num[b+1]){
num[b]=menor_num;
for(c=0;c<3;c++){
printf("%d %d %d",menor_num,medio_num,maior_num);
return 0;