Você está na página 1de 61

EXERCÍCIOS DE LÓGICA DE

PROGRAMAÇÃO EM C
PROFESSOR: Claudinei Dias
ALUNOS: GUILHERME FRANZOI E JOÃO ANTONIO MEDEIROS
ENGENHARIA MECÂNICA  TURMA A

2. Escreva um algoritmo para ler um número positivo qualquer, calcular e escrever


o quadrado e a raiz quadrada do mesmo.

#include<stdio.h>
#include<stdlib.h>
#include <math.h>

int main()

!loat num, quad, raiz"

print!($nsira um numero positivo %n)"


scan!(&!, 'num)"

i!(num>)

quadrado  (num*num)"

raiz  (sqrt(num))"
print!(+ raiz de &.2! eh &.2! %n, num, raiz)"
print!( quadrado de &.2! eh &.2! %n, num, quad)"
-
else
print!($nsira um numero positivo %n)"

sstem(pause)"

/. Escrever um algoritmo para calcular os sucessivos valores de E usando a s0rie


abai1o e considerando primeiro  termos, depois / termos e !inalmente 3 termos4

#include<stdio.h>
#include<stdlib.h>

int !atorial(int num)



int i,!"
!num"
!or(inum56"i>6"i55)

!!*(i)"
-
return !"
-

int main ()

!loat E"

E6767(68!atorial(2))7(68!atorial())"
print!(9omando apenas os  primeiros termos temos4 &! %n,E)"

E6767(68!atorial(2))7(68!atorial())7(68!atorial(/))"
print!(9omando apenas os / primeiros termos temos4 &! %n,E)"

E6767(68!atorial(2))7(68!atorial())7(68!atorial(/))7(68!atorial(3))"
print!(9omando apenas os 3 primeiros termos temos4 &! %n,E)"

sstem(pause)"
-

:. Escrever um algoritmo que l;  valores a, b, c que so lados de um tri=ngulo e


calcule a rea deste tri=ngulo.
s( s − a
)( s −)(b s)− c

onde s  semi5per?metro

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main ()

int a,b,c,s"
!loat area"
print!(@igite os  lados do triangulo4 %n)"
scan!(&i,'a)"
scan!(&i,'b)"
scan!(&i,'c)"
sa7b7c"
areasqrt(s*(s5a)*(s5b)*(s5c))"

print!(+ area do triangulo eh4 &! %n%n,area)"

sstem(pause)"

A. Escrever um algoritmo que l; um conBunto de / valores i, a, b, c, onde i 0 um


valor inteiro e positivo e a, b, c, so quaisquer valores reais e os escreva. +
seguir4
9e i  6 escrever os  valores a, b, c em ordem crescente.
9e i  2 escrever os  valores a, b, c em ordem decrescente.
9e i   escrever os  valores de !orma que o maior valor entre a, b, c !ica entre
os outros 2.

#include<stdio.h>
#include<stdlib.h>

int main ()

int i,a,b,c"
print!(@igite 6 para ordem crescente )"
print!(@igite2 para ordem decrescente )"
print!(@igite  para colocar o maior valor no meio)"
print!(Escolha 6, 2 ou 4 %n)"
scan!(&i,'i)"
print!(@igite um primeiro valor4 %n)"
scan!(&i,'a)"
print!(@igite um segundo valor4 %n)"
scan!(&i,'b)"
print!(@igite um terceiro valor4 %n)"
scan!(&i,'c)"
sCitch(i)

case 64
i!(a<b)

i!(b<c)
print!(+ ordem crescente 04 &i , &i , &i %n, a,b,c)"
else


i!(a<c)
print!(+ ordem crescente 04 &i , &i , &i %n, a,c,b)"
else
print!(+ ordem crescente 04 &i , &i , &i %n, c,a,b)"
-
-

else

i!(b<c)

i!(a<c)
print!(+ ordem crescente 04 &i , &i , &i %n, b,a,c)"
else
print!(+ ordem crescente 04 &i , &i , &i %n, b,c,a)"
-
else
print!(+ ordem crescente 04 &i , &i , &i %n, c,b,a)"
-
breaD"

case 24
i!(a>b)

i!(b>c)
print!(+ ordem decrescente 04 &i , &i , &i %n, a,b,c)"
else


i!(a>c)
print!(+ ordem decrescente 04 &i , &i , &i %n, a,c,b)"
else
print!(+ ordem decrescente 04 &i , &i , &i %n, c,a,b)"
-
-

else

i!(b>c)

i!(a>c)
print!(+ ordem decrescente 04 &i , &i , &i %n, b,a,c)"
else
print!(+ ordem decrescente 04 &i , &i , &i %n, b,c,a)"
-
else
print!(+ ordem decrescente 04 &i , &i , &i %n, c,b,a)"
-
breaD"

case 4
i!(a>b)

i!(a>c)
print!( maior valor est no meio4 &i , &i , &i %n, b,a,c)"
else

print!( maior valor est no meio4 &i , &i , &i %n, b,c,a)"
-
else

i! (b>c)
print!( maior valor est no meio4 &i , &i , &i %n, a,b,c)"
else

print!( maior valor est no meio4 &i , &i , &i %n, b,c,a)"
-
breaD"
de!ault4
print!(alor invalido)"
-

sstem(pause)"
-

6. Escrever um algoritmo que l;  comprimentos de lados a, b, c e os ordena em


ordem decrescente, de modo que o a represente o maior dos  lados lidos.
@etermine, a seguir, o tipo de tri=ngulo que estes  lados !ormam, com base
nos seguintes casos escrevendo sempre os valores lidos e uma mensagem
adequada4
9e a > b 7 c no !ormam tri=ngulo algum.
9e a2  b2 7 c2 !ormam um tri=ngulo ret=ngulo.
9e a2 > b2 7 c2 !ormam um tri=ngulo obtus=ngulo.
9e a2 < b2 7 c2 !ormam um tri=ngulo acut=ngulo.
9e !orem todos iguais !ormam um tri=ngulo equiltero.
9e a  b ou b  c ou a  c ento !ormam um tri=ngulo isFsceles

#include<stdio.h>
#include<stdlib.h>

#include<math.h>

int main ()

int a,b,c,au1"
print!(@igite tr;s medidas de lado4 %n)"
scan!(&i,'a)"
scan!(&i,'b)"
scan!(&i,'c)"
i! ((a>b) '' (a>c))
aa"
else

i! ((b>a) '' (b>c))

au1  a"
a  b"
b  au1"
-
else i!((c>a) '' (c>b))

au1  a"
a  c"
c  au1"
-
-
i! ((ab) '' (bc))


print!( triangulo eh equilatero %n)"

i!((a*a)((b*b)7(c*c)))
print!( triangulo eh do tipo retangulo)"
else

i!((a*a)>((b*b)7(c*c)))
print!( triangulo eh obtusangulo)"
else
print!( triangulo eh acutangulo)"
-
-
else

i! (a>(b7c))
print!(Genhum triangulo eh !ormado)"
else

i!((ab) HH (ac) HH (bc))

print!( triangulo eh isosceles %n)"

i!((a*a)((b*b)7(c*c)))
print!( triangulo eh do tipo retangulo)"
else

i!((a*a)>((b*b)7(c*c)))
print!( triangulo eh obtusangulo)"
else
print!( triangulo eh acutangulo)"
-
-
else


print!( tri=ngulo eh escaleno)"
i!((a*a)((b*b)7(c*c)))
print!( triangulo eh do tipo retangulo)"
else

i!((a*a)>((b*b)7(c*c)))
print!( triangulo eh obtusangulo)"
else
print!( triangulo eh acutangulo)"
-
-
-
-
sstem(pause)"
-

62. Escrever um algoritmo que l; o número de um !uncionrio, o número de horas


por ele trabalhadas, o valor querecebe por hora, o número de !ilhos com idade
in!erior a 6/ anos, a idade, o tempo de serviIo do !uncionrio e o valor do salrio
!am?lia por !ilho.
Jalcular
!am?lia. o salrio bruto, o desconto do $G99 (A,3& do salrio bruto) e o salrio
Jalcular o $K ($mposto de Kenda) como segue4
9e 9alrio Lruto > 6.3, ento $K  63& do 9L
9e 9alrio Lruto > 3, e 9L < 6.3, ento $K  A& do 9L
9e salrio Lruto < 3, ento $K  
Jalcular o adicional con!orme especi!icado4
9e idade superior a / anos +@$J  2& do 9L
9e tempo de serviIo superior a 63 anos +@$J  .3& do 9L
9e tempo de serviIo < 63 anos mas superior a 3 anos e idade maior do que  anos
ento +@$J  6,3& do 9L.
Jalcular o salrio l?quido. Escrever o número do !uncionrio, salrio bruta, total
dos descontos, adicional e salrio l?quido.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()

int nMunc,nNoras,vrNora,nMilhos,idade,t9ervico,vsMamilia"
!loat
sLruto,desc$G99,sMamilia,iK,adic6,adic2,adic,sOiquido,adicionais,descontos"

print!(@igite o numero do !uncionario4 %n)"


scan!(&i,nMunc)"
print!(@igite o numero de horas trabalhadas4 %n)"

scan!(&i,nNoras)"
print!(@igite o valor recebido por hora4 %n)"
scan!(&i,vrNora)"
print!(@igite o numero de !ilhos menores de 6/ anos do !uncionario4 %n)"
scan!(&i,nMilhos)"
print!(@igite a idade do !uncionario4 %n)"
scan!(&i,idade)"
print!(@igite o tempo de servico em anos do !uncionario4 %n)"
scan!(&i,t9ervico)"
print!(@igite o valor do salario !amilia por !ilho do !uncionario4 %n)"
scan!(&i,vsMamilia)"

sLruto  (nNoras*vrNora)"
desc$G99  (.A3*sLruto)"
sMamilia  (nMilhos*vsMamilia)"

i! (sLruto>63)
iK  (.63*sLruto)"
i! ((sLruto<63) '' (sLruto>3))
iK  (.A*sLruto)"
i! (sLruto<3)
iK  "

i! (idade>/)
adic6  (.2*sLruto)"
i! (t9ervico>63)
adic2  (.3*sLruto)"
i! ((t9ervico<63) '' (t9ervico>3) '' (idade>))
adic  (.63*sLruto)"

sOiquido  (sLruto5desc$G997sMamilia5iK7adic67adic27adic)"
adicionais  (adic67adic27adic)"
descontos  (iK7desc$G99)"

print!( !uncionario numero &i %n,nMunc)"


print!(Possui salario bruto de &! %n,sLruto)"
print!(Qm total de desconto de &! %n,descontos)"
print!(Qm total de adicionais de &! %n, adicionais)"
print!(E, portanto, um salario liquido de %n, sOiquido)"

sstem(pause)"

-
6/. + empresa En1uga Relo 9+decidiu conceder um aumento de salrios a seus
!uncionrios de acordo com a tabela abai1o4
9alrio+tual Sndice@e+umento
/,
5 63&
/,65T, 62&
T,656., 6&
6.,656.A, T&
6.A,652.3, /&
acimade2.3, semaumento
Escrever um algoritmo que l;, para cada !uncionrio, o seu número e o seu salrio
atual e escreve o numero do !uncionrio, seu salrio atua6, o percentual de seu
aumento e o valor do salrio corrigido.

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main()

int nMunc,s+tual,n9alario"

print!(@igite o numero do !uncionario4 %n)"


scan!(&i, 'nMunc)"
print!(@igite o salario atual do !uncionario4 %n)"
scan!(&i,'s+tual)"

i!((s+tual>) '' (s+tual</))



n9alario  (s+tual7(.63*s+tual))"

print!( !uncionario &i %n,nMunc)"


print!(Uue tem o salario de &i %n,s+tual)"
print!(Veve um reaBuste de 63 por cento %n)"
print!(E seu novo salario eh de &i %n,n9alario)"
-

i!((s+tual>/.6) '' (s+tual<T))



n9alario  (s+tual7(.62*s+tual))"
print!( !uncionario &i %n,nMunc)"
print!(Uue tem o salario de &i %n,s+tual)"
print!(Veve um reaBuste de 62 por cento %n)"
print!(E seu novo salario eh de &i %n,n9alario)"
-

i!((s+tual>T.6) '' (s+tual<6))



n9alario  (s+tual7(.6*s+tual))"
print!( !uncionario &i %n,nMunc)"
print!(Uue tem o salario de &i %n,s+tual)"

print!(Veve um reaBuste de 6 por cento %n)"


print!(E seu novo salario eh de &i %n,n9alario)"
-

i!((s+tual>6.6) '' (s+tual<6A))



n9alario  (s+tual7(.T*s+tual))"

print!( !uncionario &i %n,nMunc)"


print!(Uue tem o salario de &i %n,s+tual)"
print!(Veve um reaBuste de T por cento %n)"
print!(E seu novo salario eh de &i %n,n9alario)"
-

i!((s+tual>6A.6) '' (s+tual<23))



n9alario  (s+tual7(./*s+tual))"
print!( !uncionario &i %n,nMunc)"
print!(Uue tem o salario de &i %n,s+tual)"
print!(Veve um reaBuste de / por cento %n)"
print!(E seu novo salario eh de &i %n,n9alario)"
-

i!(s+tual>23.6)

print!( !uncionario &i %n,nMunc)"
print!(Uue tem o salario de &i %n,s+tual)"
print!(Gao teve reaBuste e seu salario permanece o mesmo %n)"

sstem(pause)"

6:. Escrever um algoritmo que l; 3 valores para a, um de cada vez, e conta quantos
destes valores so negativos, escrevendo esta in!ormaIo.

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main()

int 1,,cont"

!or(1"1<3"177)

print!(@igite um numero4 %n)"
scan!(&i,')"

i!(<)
cont77"
-

print!(+ quantidade de numeros negativos eh4 &i %n, )"

sstem(pause)"

2. Escrever um algoritmo que gera os  primeiros termos da 90rie de Mibonacci


e escreve os termos gerados com a mensagem4 é primo ou não é primo
con!orme o caso.

#include<stdio.h>
#include<stdlib.h>

int main()

int a,b,c,i,D,divE1ato"

a"
b6"
print!(9erie de Mibonacci4 %n)"
print!(6)"
print!(Eh primo)"

!or(i"i<2W"i77)

ca7b"
ab"
bc"

print!(&i %n,c)"

!or(D6"D<c"D77)


i!((c&D))

divE1ato77"
-
i!(divE1ato>2)
print!(Gao eh primo)"

else
print!(Eh primo)"
-

-
sstem(pause)"

22. Escrever um algoritmo que l; um número no determinados de valores a, todos


inteiros e positivos, um de cada vez, e calcule e escreva a m0dia aritm0tica dos
valores lidos, a quantidade de valores pares, a quantidade de valores impares, a
percentagem de valores pares e a percentagem de valores ?mpares.

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main()

int a,cont+56,soma,contPar,cont$mpar56"
!loat media,Par,$mpar"

Chile(aXWWW)

print!(@igite um numero inteiro e positivo ou WWW para sair4 %n)"
scan!(&i,'a)"
i!(a>)

cont+77"
soma(soma7a)"
media((soma5WWW)8cont+)"

i!((a&2))

contPar77"
-

i!((a&2)X)

cont$mpar77"
-

else

print!(9eu numero nao eh positivo e8ou inteiro %n)"

-
-
pPar((contPar8cont+)*6)"
p$mpar((cont$mpar8cont+)*6)"
print!(+ media dos valores eh4 &i %n,media)"
print!(+ quantidade de numeros pares eh &i %n,contPar)"
print!(+ porcentagem de valores pares eh &! %n,Par)"
print!(+ quantidade de numeros impares eh &i %n,cont$mpar)"
print!(+ porcentagem de valores pares eh &! %n,$mpar)"

sstem(pause)"
-

2/. Escrever um algoritmo que l; 3 conBuntos de / valores a, b, c, d, um conBunto


por vez e os escreve assim como !oram lidos. Em seguida, ordene5os em ordem
decrescente e escreva5os novamente.

#include<stdio.h>
#include<stdlib.h>

int main()


int i,D,+Y/Z,B,au1"

!or(D"D<3"D77)

!or(i"i</"i77)

print!(@igite um numero4 %n)"


scan!(&i,'+YiZ)"
-
!or(i"i</"i77)

print!(&i %t,+YiZ)"
-

!or(B/"B>"B55) 88bubble sort



!or(i"i<B"i77)

i!(+YiZ<+Yi76Z)

au1+YiZ"
+YiZ+Yi76Z"
+Yi76Zau1"
-
-

-
!or(i"i</"i77)

print!(&i %t,+YiZ)"
-
-

sstem(pause)"
-
2:. Escrever um algoritmo que l; 3 pares de valores a, b, todos inteiros e positivos,
um par de cada vez, e com a < b, e escreve os inteiros pares de a at0 b, incluindo o a
e b se !orem pares.

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main()

int i,B,num,+Y2Z,au1"

!or(i"i<3"i77)

!or(B"B<2"B77)

print!(@igite um valor inteiro positivo4 %n)"
scan!(&i,'+YiZ)"

i!((+YZ '' +Y6Z)>)



i!(+YZ<+Y6Z)

!or(num+YZ"num<+Y6Z"num77)


i!((num&2))

print!(&i eh numero par entre &i e &i,num,+YZ,+Y6Z)"
-
-
-
else

au1+Y6Z"
+Y6Z+YZ"
+YZau1"

!or(num+YZ"num<+Y6Z"num77)

i!((num&2))

print!(&i eh numero par entre &i e &i,num,+YZ,+Y6Z)"
-
-

-
-
else
print!(+lgum numero digitado nao eh positivo %n)"
-
sstem(pause)"
-

2A. Escrever um algoritmo que l;, para cada vendedor de uma empresa, o seu
número de identi!icaIo, seu salrio !i1o e o total de vendas em reais por ele
e!etuadas. Jada vendedor recebe um salrio !i1o e uma comisso proporcional [s
vendas por ele e!etuadas. + comisso 0 de & sobre o total de vendas at0 \ 6.,
e 3& sobre o que ultrapassa este valor. Escrever, para cada vendedor, o seu
número de identi!icaIo, o total de suas vendas, seu salrio !i1o e seu salrio total.

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main()

int nMunc"

!loat !i1o,total,vendas"

i!((vendas>) '' (vendas<6))


sVotal(!i1o7(vendas*.))"

i!((vendas>6))
total(!i1o77(.3*(vendas56)))"

print!( !unconario &i %n,nMunc)"


print!(Vem salario !i1o de &! %n,!i1o)"
print!(9eu total de vendas !oi &! %n,vendas)"
print!(E seu salario total eh de &! %n,total)"

sstem(pause)"
-
. Escrever um algoritmo que gera e escreve os 3 primeiros números per!eitos.
Qm número per!eito 0 aquele que 0 igual a soma dos seus divisores. (E1.4 :  l 7 2 7
" 2A  6 7 2 7 / 7 T 7 6/ etc.).

#include<stdio.h>
#include<stdlib.h>

int main()

int cont,soma,B,num"

Chile(cont<3)

!or(num"num<6"num77)

!or(B6"B<num"B77)

i!((num&B))

somasoma7B"
-
i!(numsoma)

print!(&i eh numero per!eito,num)"
cont77"
-

-
-
sstem(pause)"
-

2. Escrever um algoritmo que gera os números de 6 a 6WWW e escreve aqueles
que divididos por 66 do um resto igual a 3.

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main()


int num"

!or(num6"num<6WWW"num77)

i!((num&66)3)
print!(&i%n,num)"
-

sstem(pause)"
-

/. Escrever um algoritmo que calcula e escreve o produto dos números primos
entre W2 e 6/TA.

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main()

int i,B,primo,divE1ato,produto6"

!or(iW2"i<6/TA"i77)

!or(B6"B<i"B77)

i!((i&B))
divE1atoB

i!(divE1ato2)
primoi

produtoproduto*primo"
-
print!( produto dos numeros primos eh &i,produto)"
-

sstem(pause)"

:. 9upondo que a populaIo de um pa?s + seBa da ordem de W.. de


habitantes com uma ta1a anual de crescimento de ,6& e que a populaIo de um
pa?s L seBa de 2.. de habitantes com uma ta1a anua6 de crescimento de
6,3&, escrever um algoritmo que calcula quantos anos sero necessrios para que
a populaIo do pa?s + ultrapasse a do pa?s L, mantidas as ta1as atuais de
crescimento.

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main()

double pop+W,popL2,ano,cont+no"

Chile(cont+no<6)

!or(ano6"ano<6"ano77)

pop+pop+7(pop+*.6)"
popLpopL7(popL*.63)"

i!(pop+>popL)

print!(9ao necessarios &l! anos para a populacao de + ultrapassar a
de L %n,ano)"
cont+no77"
-

-
-
sstem(pause)"
-

A. Escrever um algoritmo que l; um vetor ](6) e o escreve. 9ubstitua, a seguir,


todos os valores nulos de ] por 6 e escreva novamente o vetor ].

#include<stdio.h>
#include<stdlib.h>

int main()

int ]Y6Z,i"

!or(i"i<6"i77)

print!(@igite um numero4 %n)"
scan!(&i,']YiZ)"
-

!or(i"i<6"i77)

print!(&i %t, ]YiZ)"
-

print!(%n%n%n%n)"

!or(i"i<6"i77)

i!(]YiZ)

]YiZ6"
-
-
!or (i"i<6"i77)

print!(&i %t, ]YiZ)"
-

sstem(pause)"

/. Escrever um algoritmo que l; um vetor GYAZ e o escreve. Encontre, a seguir, o


menor elemento e a sua posiIo no vetor G e escreva4 o^ menor elemento de n é = ”,
_, ^e a sua posição é = `, P.

#include<stdio.h>
#include<stdlib.h>

int main()

int GYAZ,i,menor,p"

!or(i"i<A"i77)

print!(@igite um numero4 %n)"
scan!(&i,'GYiZ)"
-

!or(i"i<A"i77)

print!(&i %t, GYiZ)"
-

print!(%n%n%n%n)"

menor  GYZ"
!or(i"i<A"i77)

i!(GYiZ<menor)

menor  GYiZ"
pi"
-
-
print!( menor elemento de n eh &i e a sua posicao eh &i %n%n, menor, p)"

sstem(pause)"

-
/2. Escrever um algoritmo que l; um vetor GY2Z e o escreve. Vroque, a seguir, o 6
elemento com o último, o 2 com o penúltimo, etc., at0 o 6 com o 66 e escreva o
vetor G assim modi!icado.

#include<stdio.h>
#include<stdlib.h>

int main()

int GY2Z,i,au1"

!or(i"i<2"i77)

print!(Escreva um numero4 %n)"
scan!(&i,'GYiZ)"
-
!or(i"i<2"i77)

print!(&i %t,GYiZ)"
-

print!(%n%n%n%n)"

!or(i"i<6"i77)

au1GYiZ"
GYiZGY25(i76)Z"
GY25(i76)Zau1"
-
!or(i"i<2"i77)

print!(&i %t,GYiZ)"
-

sstem(pause)"
-

//. Escrever um algoritmo que l; um vetor GY2Z e o escreve. Vroque, a seguir, o 6


elemento com 66, o 2 com o 62, etc., at0 o 6 com o 2 e escreva o vetor assim
modi!icado.

#include<stdio.h>
#include<stdlib.h>

int main()

int GY2Z,i,au1"

!or(i"i<2"i77)

print!(@igite um numero4 %n)"
scan!(&i,'GYiZ)"
-

!or(i"i<2"i77)

print!(&i %t,GYiZ)"
-

print!(%n%n%n%n)"

!or(i"i<6"i77)

au1GYiZ"
GYiZGYi76Z"
GYi76Zau1"
-
!or(i"i<2"i77)

print!(&i %t,GYiZ)"
-

sstem(pause)"
-

/:. Escrever um algoritmo que l; 2 vetores Y6Z e GY6Z e os escreve. Jrie, a


seguir, um vetor _ que seBa a di!erenIa entre  e G (_   5 G) e escreva o vetor
_.

#include<stdio.h>
#include<stdlib.h>

int main()

int Y6Z,GY6Z,_Y6Z,i,B,D"
!or(i"i<6"i77)

print!(@igite um numero4 %n)"
scan!(&i,'YiZ)"
-
!or(i"i<6"i77)

print!(&i %t,YiZ)"
-

!or(B"B<6"B77)

print!(@igite um numero4 %n)"
scan!(&i,'GYBZ)"
-
!or(B"B<6"B77)


print!(&i %t,GYBZ)"
-

print!(%n%n%n%n)"

!or(D"D<6"D77)


_YDZYDZ5GYDZ"
print!(&i %t, _YDZ)"
-

sstem(pause)"
-

/A. Escrever um algoritmo que l;, um vetor Y2Z e o escreve. Jompacte, a seguir, o
vetor , retirando dele todos os valores nulos ou negativos e escreva o vetor
compactado.

#include<stdio.h>
#include<stdlib.h>

int main()

int Y2Z,i,contGulo,Y2Z,B,au1"

!or(i"i<2"i77)

print!(@igite um numero4 %n)"


scan!(&i,'YiZ)"
-
!or(i"i<2"i77)

print!(&i %t,YiZ)"
-

print!(%n%n%n%n)"
!or(B"B<2"B77)

YBZYBZ"
-

!or(B"B<2"B77)

i!(YBZ>)

print!(&i %t,YBZ)"
-
-
sstem(pause)"
-

3. Escreva um algoritmo que l; um conBunto de  valores e os coloca em 2


vetores con!orme !orem pares ou impares.  tamanho dos vetores 0 de 3 posiIes.
9e algum vetor estiver cheio, escreve5lo. Verminada a leitura escrever oconteúdo
dos 2 vetores. Jada vetor pode ser preenchido tantas vezes quantas !or necessrio.

#include<stdio.h>
#include<stdlib.h>
int main()

int
i,+YZ,PuY3Z,PdY3Z,PtY3Z,PqY3Z,PcY3Z,PsY3Z,$uY3Z,$dY3Z,$tY3Z,$qY3Z,$cY3Z,$sY3Z,con
tP,cont$,cpu,cpd,cpt,cpq,cpc,cps,ciu,cid,cit,ciq,ci
c,cis"

!or(i"i<"i77)

print!(@igite um numero4 %n)"
scan!(&i,'+YiZ)"
-

!or(i"i<"i77)

i!((+YiZ&2))

i!((contP>)''(contP<3))

PuYcontPZ+YiZ"
cpu77"
-
i!((contP>3)''(contP<6))

PdYcontP53Z+YiZ"

cpd77"
-
i!((contP>6)''(contP<63))

PtYcontP56Z+YiZ"
cpt77"
-

i!((contP>63)''(contP<2))

PqYcontP563Z+YiZ"
cpq77"
-
i!((contP>2)''(contP<23))

PcYcontP52Z+YiZ"
cpc77"
-
i!((contP>23)''(contP<))

PsYcontP523Z+YiZ"
cps77"
-
contP77"
-
else

i!((cont$>)''(cont$<3))


$uYcont$Z+YiZ"
ciu77"
-
i!((cont$>3)''(cont$<6))

$dYcont$53Z+YiZ"

cid77"
-
i!((cont$>6)''(cont$<63))

$tYcont$56Z+YiZ"
cit77"
-
i!((cont$>63)''(cont$<2))

$qYcont$563Z+YiZ"
ciq77"
-
i!((cont$>2)''(cont$<23))

$cYcont$52Z+YiZ"
cic77"
-
i!((cont$>23)''(cont$<))

$sYcont$523Z+YiZ"

cis77"
-
cont$77"
-
-

!or(i"i<3"i77)


i!(cpu3)
print!(etor de numeros pares4 %n,PuYiZ)"
-
!or(i"i<3"i77)

i!(cpd3)
print!(etor de numeros pares4 %n,PdYiZ)"
-
!or(i"i<3"i77)

i!(cpt3)
print!(etor de numeros pares4 %n,PtYiZ)"
-
!or(i"i<3"i77)

i!(cpq3)
print!(etor de numeros pares4 %n,PqYiZ)"
-
!or(i"i<3"i77)


i!(cpc3)
print!(etor de numeros pares4 %n,PcYiZ)"
-
!or(i"i<3"i77)

i!(cps3)

print!(etor de numeros pares4 %n,PsYiZ)"


-
!or(i"i<3"i77)

i!(ciu3)
print!(etor de numeros impares4 %n,$uYiZ)"
-
!or(i"i<3"i77)

i!(cid3)
print!(etor de numeros impares4 %n,$dYiZ)"
-
!or(i"i<3"i77)

i!(cit3)
print!(etor de numeros impares4 %n,$tYiZ)"
-
!or(i"i<3"i77)

i!(ciq3)
print!(etor de numeros impares4 %n,$qYiZ)"
-
!or(i"i<3"i77)

i!(cic3)
print!(etor de numeros impares4 %n,$cYiZ)"

-
!or(i"i<3"i77)

i!(cis3)
print!(etor de numeros impares4 %n,$sYiZ)"
-

sstem(pause)"
-

32. Escrever um algoritmo que gera os 6 primeiros números primos acima de 6
e os armazena em um vetor ](6) escrevendo, no !inal, o vetor ].

#include<stdio.h>

#include<stdlib.h>

int main()

int num,divisor,i,B,contPrimo,]Y6Z"

Chile (contPrimo<6)

!or(num6"num<6"num77)

!or(i"i<num"i77)

i!((num&i))
divisori"
i!(divisor2)
contPrimo77"
num]Y7contPrimoZ"
-
-
-
!or(B"B<6"B77)

print!(&i %t,]YBZ)"
-
sstem(pause)"
-

3/. Escreva um algoritmo que l; uma matriz _(3,3) e calcula as somas4


a) da linha / de _
b) da coluna 2 de _
c) da diagonal principal
d) da diagonal secundria
e) de todos os elementos da matriz
Escreva estas somas e a matriz.

#include<stdio.h> 88_+VK$ _YlinhaZ YcolunaZ

#include<stdlib.h>

int main()

int _YWZYWZ,i,B,9O,9J,9@P,9@J,9"

!or(i"i<W"i77)

!or(B"B<W"B77)

print!(@igite o valor para _Y&iZY&iZ ,i,B)"
scan!(&i,'_YiZYBZ)"
-
-

!or(i"i<W"i77)

!or(B"B<W"B77)

print!(&i %t,_YiZYBZ)"
-
print!(%n)"
-

!or(B"B<W"i77)

9O9O7_YZYBZ" 88item a

-
!or(i"i<W"i77)

9J9J7_YiZY6Z" 88item b
-
!or(i"i<W"i77)

!or(B"B<W"B77)

i!(iB)
9@P9@P7_YiZYBZ" 88item c
-
-
!or(i"i<W"i77)

!or(B"B<W"B77)

i!(BA5i)
9@J9@J7_YiZYBZ" 88item d

-
-
!or(i"i<W"i77)

!or(B"B<W"B77)

997_YiZYBZ" 88item e

-
-

sstem(pause)"
-

3:. Escrever um algoritmo que l; uma matriz _(6,6) e a escreve. Vroque, a


seguir4
f a linha 2 com a linha A.
f a coluna / com a coluna 6
f a diagonal principal com a secundria
f a linha 3 com a coluna 6
Escreva a matriz assim modi!icada.
#include<stdio.h> 88_+VK$ _YlinhaZ YcolunaZ
#include<stdlib.h>

int main()

int _Y6ZY6Z,i,B,au1,au16"

!or(i"i<6"i77)

!or(B"B<6"B77)

print!(@igite o valor para _Y&iZY&iZ ,i,B)"
scan!(&i,'_YiZYBZ)"
-
-
!or(B"B<6"B77)


au1_Y6ZYBZ"
_Y6ZYBZ_YTZYBZ"
_YTZYBZau1"
-
!or(i"i<6"i77)

au1_YiZYZ"
_YiZYZ_YiZYWZ"
_YiZYWZau1"
-
!or(i"i<6"i77)

!or(B"B<6"B77)

i!(iB)

au1_YiZYBZ"
_YiZYBZ_YiZYW5iZ"
_YiZYW5iZau1"
-
-
-
!or(i"i<6"i77)

!or(B"B<6"B77)

au16_Y/ZYBZ"
_Y/ZYBZ_YiZYWZ"
_YiZYWZau16"
-
-
!or(i"i<6"i77)

!or(B"B<6"B77)

print!(&i %t,_YiZYBZ)"
-
print!(%n)"
-

sstem(pause)"
-

3A. Escrever um algoritmo que l; uma matriz _(3,3) e cria 2 vetores 9O(3), 9J(3)
que contenham respectivamente as somas das linhas e das colunas de _. Escrever
a matriz e os vetores criados.

#include<stdio.h>
#include<stdlib.h>

int main()

int _Y3ZY3Z,i,B,9OY23Z-,9JY23Z-"

!or(i"i<"i77)

!or(B"B<"B77)

print!(@igite o valor para _Y&iZY&iZ ,i,B)"
scan!(&i,'_YiZYBZ)"

-
-
!or(i"i<3"i77)

!or(B"B<3"B77)

print!(&i %t,_YiZYBZ)"
-
print!(%n)" 88imprime a matriz na tela
-

!or(i"i<3"i77)

!or(B"B<3"B77)

9OYiZ9OYiZ7_YiZYBZ"
9JYiZ9JYiZ7_YBZYiZ"
-
-

!or(i"i<3"i77)

print!(&i %t,9OYiZ)"
-

print!(%n%n%n%n%n)"

!or(i"i<3"i77)

print!(&i %t,9JYiZ)"
-

sstem(pause)"

:. Escrever um algoritmo que l; uma matriz +(A,A) sem elementos duplicados e a
escreve. Oer, a seguir, um n no determinado de valores G e veri!ique para cada G
lido se o valor de G est ou no na matriz +. 9e estiver, encerrar a pesquisa
escrevendo o valor e a mensagem4 Foi encontrado na posição:, caso contrrio
escrever o valor e a mensagem4 ^O valor não está na matriz A`.

#include<stdio.h>
#include<stdlib.h>

int main()

int _YAZYAZ,num,i,B"

!or(i"i<A"i77)

!or(B"B<A"B77)

print!(@igite o valor para _Y&iZY&iZ sem ser duplicado4 %n ,i,B)"
scan!(&i,'_YiZYBZ)"

-
-
Chile(numX:::)

print!(Entre com um numero ou digite ::: para sair4 %n)"
scan!(&i,'num)"
!or(i"i<A"i77)

!or(B"B<A"B77)

i!(num_YiZYBZ)

print!( numero esta na matriz %n)"
-
else

print!( numero nao esta na matriz %n)"
-
-

-
-

sstem(pause)"
-

:2. Escrever um algoritmo que l; uma matriz G(63,3) e a escreve. eri!ique, a


seguir, quais os elementos de _ que esto repetidos e quantas vezes cada um deles
est repetido. Escrever cada elemento repetido com uma mensagem dizendo a
quantidade de vezes que aparece _.

#include<stdio.h>
#include <stdlib.h>

int main()

int GY63ZY3Z,i,B,a,b,repet"

!or (i"i<63"i77)

!or(B"B<3"B77)

print!(in!orme o elemento para GY&iZY&iZ4 ,i,B)"
scan!(&i, 'GYiZYBZ)"
-
-
!or (i"i<63"i77)

!or(B" B<3" B77)


print!(&i%t, GYiZYBZ)"
-
print!(%n)"
-
!or (i"i<63"i77)

!or(B"B<3"B77)

repet  "
!or (a"a<63"a77)

!or(b"b<3"b77)

i! (GYiZYBZ  GYaZYbZ)
repet77"
-
-
i! (repet>6)
print!(o elemento &i !oi repetido &i vezes. %n%n, GYiZYBZ, repet)"
-
-
sstem(pause)"
-

:/. Escrever um algoritmo que l; um vetor () e o escreve. Jonte a seguir,


quantos valores iguais a + esto neste vetor e escreva esta in!ormaIo. Jrie a
seguir um vetor ] contendo todos os elementos de  di!erentes de + e escreva este
vetor compactado de . Qtilize subalgoritmo para ler eescrever vetores, bem
como, para contar o número de valores + e para criar o vetor ].

#include<stdio.h>
#include<stdlib.h>

void leitura(int *vetor, int t)


int i"
int YtamZ, ]YtamZ"
int ], "
!or (i" i<t" i77)

print! (@igite um numero para o vetor4 %n)"
scan!(&i, 'vetorYiZ)"
-
-

void escreve(int *vetor, int t)



int i"
print! (%n etor lido4%n)"
!or (i" i<t" i77)

print! (&i %t, vetorYiZ)"
-
-

int conta(int *vetor, int t, int +)



int cont  , i"
!or(i" i<t" i77)

i! (+  vetorYiZ)


cont77"
-
-
return cont"
-

void criavetor(int *vetor, int t, int +, int *novoetor, int *novoVam)



int pos, i"
pos  "
!or (i" i<t" i77)

i! (vetorYiZ X +)

novoetorYposZ vetorYiZ"
pos77"
-
-
*novoVam  pos"

int main()

int t, t], YtamZ, ]YtamZ, +, ocorrencias"

leitura (, t)"

escreve(, t)"

print! (Escolha valor para +4 )"


scan! (&i, '+)"

ocorrencias  conta(, t, +)"


print!( valor &i aparece &i vezes no vetor , +, ocorrencias)"

criavetor(, t, +, ], 't])"

escreve (], t])"

sstem(pause)"

::. Oogo apFs o surgimento dos computadores, os mesmos !oram usados


principalmente para clculos cient?!icos. Jomo seu aparecimento se deu em pleno
per?odo de guerras, um dos primeiros clculos !oi o da traBetFria de proB0teis.
9e um proB0til 0 atirado com uma velocidade inicial (m8s) a um =ngulo de
inclinaIo V(radianos),
calculado pelas !Frmulas4 sua posiIo no plano vertica6 1, B, no tempo t(segundos) 0
1  ( cos V)t
B  ( sen V)t 5 682 gt2
onde  < V < 82
g  W,A m8s2

Escrever um subalgoritmo que recebe V e  e lista as coordenadas 1, B em


intervalos de .6s para um tiro particular, terminando quando o proB0ti6 atingir o
solo.

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#de!ine pi .6/63W2:3

!loat (!loat vel,!loat angulo)



!loat 1,B,t,gW.A"

Chile(B>)

1(vel*cos(angulo))*t"
B((vel*sin(angulo))*t)5(682)*g*(t*t)"
print!(PosiIo no ei1o 1 em &!4 &! %n,t,1)"
print!(PosiIo no ei1o B em &!4 &! %n,t,B)"
print!(%n%n)"
tt7.6"
-

return "
-

:A. Escrever um algoritmo que l; 2 vetores 1 e  e chama um subalgoritmo para


calcular o produto de ] por .

#include<stdio.h>
#include<stdlib.h>

int produto(int a,int b)



int c,i"

!or(i"i<3"i77)

ca*b"
-
return c"
-

int main()

int +Y3Z,LY3Z,JY3Z,i"

!or(i"i<3"i77)

print!(@igite um valor para a matriz +4 %n)"

scan!(&i,'+YiZ)"
-

!or(i"i<3"i77)

print!(@igite um valor para a matriz L4 %n)"
scan!(&i,'LYiZ)"

!or(i"i<3"i77)

JYiZproduto(+YiZ,LYiZ)"
-

!or(i"i<3"i77)

print!(&i %t,JYiZ)"
-

sstem(pause)"
-