Exercícios de Lógica de Programação em C
Exercícios de Lógica de Programação em C
Exercícios de Lógica de Programação em C
PROGRAMAO EM C
#include<stdio.h>
#include<stdlib.h>
#include <math.h>
int main()
scanf("%f", &num);
if(num>0)
quadrado = (num*num);
raiz = (sqrt(num));
else
system("pause");
#include<stdio.h>
#include<stdlib.h>
int i,f;
f=num;
for(i=num-1;i>1;i--)
f=f*(i);
return f;
int main ()
{
float E;
E=1+1+(1/fatorial(2))+(1/fatorial(3));
E=1+1+(1/fatorial(2))+(1/fatorial(3))+(1/fatorial(4));
E=1+1+(1/fatorial(2))+(1/fatorial(3))+(1/fatorial(4))+(1/fatorial(5));
system("pause");
onde s = semi-permetro
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main ()
int a,b,c,s;
float area;
printf("Digite os 3 lados do triangulo: \n");
scanf("%i",&a);
scanf("%i",&b);
scanf("%i",&c);
s=a+b+c;
area=sqrt(s*(s-a)*(s-b)*(s-c));
system("pause");
#include<stdio.h>
#include<stdlib.h>
int main ()
int i,a,b,c;
printf("Escolha 1, 2 ou 3: \n");
scanf("%i",&i);
scanf("%i",&a);
scanf("%i",&b);
scanf("%i",&c);
switch(i)
case 1:
if(a<b)
if(b<c)
else
if(a<c)
else
else
if(b<c)
{
if(a<c)
else
else
break;
case 2:
if(a>b)
if(b>c)
else
if(a>c)
else
else
if(b>c)
{
if(a>c)
else
else
break;
case 3:
if(a>b)
if(a>c)
else
else
if (b>c)
else
break;
default:
printf("Valor invalido");
system("pause");
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main ()
int a,b,c,aux;
scanf("%i",&a);
scanf("%i",&b);
scanf("%i",&c);
else
aux = a;
a = b;
b = aux;
aux = a;
a = c;
c = aux;
if((a*a)=((b*b)+(c*c)))
else
if((a*a)>((b*b)+(c*c)))
else
printf("O triangulo eh acutangulo");
else
if (a>(b+c))
else
if((a*a)=((b*b)+(c*c)))
else
if((a*a)>((b*b)+(c*c)))
else
else
else
if((a*a)>((b*b)+(c*c)))
else
system("pause");
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
int nFunc,nHoras,vrHora,nFilhos,idade,tServico,vsFamilia;
float
sBruto,descINSS,sFamilia,iR,adic1,adic2,adic3,sLiquido,adicionais,descontos;
scanf("%i",nFunc);
scanf("%i",nHoras);
scanf("%i",vrHora);
scanf("%i",nFilhos);
scanf("%i",idade);
scanf("%i",tServico);
scanf("%i",vsFamilia);
sBruto = (nHoras*vrHora);
descINSS = (0.085*sBruto);
sFamilia = (nFilhos*vsFamilia);
if (sBruto>1500)
iR = (0.15*sBruto);
iR = (0.08*sBruto);
if (sBruto<=500)
iR = 0;
if (idade>40)
adic1 = (0.02*sBruto);
if (tServico>15)
adic2 = (0.035*sBruto);
adic3 = (0.015*sBruto);
sLiquido = (sBruto-descINSS+sFamilia-iR+adic1+adic2+adic3);
adicionais = (adic1+adic2+adic3);
descontos = (iR+descINSS);
system("pause");
Escrever um algoritmo que l, para cada funcionrio, o seu nmero e o seu salrio
atual e escreve o numero do funcionrio, seu salrio atua1, o percentual de seu
aumento e o valor do salrio corrigido.
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
int nFunc,sAtual,nSalario;
scanf("%i", &nFunc);
scanf("%i",&sAtual);
nSalario = (sAtual+(0.15*sAtual));
nSalario = (sAtual+(0.12*sAtual));
nSalario = (sAtual+(0.1*sAtual));
nSalario = (sAtual+(0.07*sAtual));
nSalario = (sAtual+(0.04*sAtual));
if(sAtual>=2500.01)
system("pause");
16. Escrever um algoritmo que l 5 valores para a, um de cada vez, e conta quantos
destes valores so negativos, escrevendo esta informao.
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
int x,y,cont=0;
for(x=0;x<5;x++)
scanf("%i",&y);
if(y<0)
cont++;
system("pause");
#include<stdio.h>
#include<stdlib.h>
int main()
int a,b,c,i,k,divExato;
a=0;
b=1;
printf("1");
printf("Eh primo");
for(i=0;i<29;i++)
c=a+b;
a=b;
b=c;
printf("%i \n",c);
for(k=1;k<=c;k++)
if((c%k)==0)
divExato++;
}
if(divExato>2)
printf("Nao eh primo");
else
printf("Eh primo");
system("pause");
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
int a,contA=-1,soma=0,contPar=0,contImpar=-1;
float media,Par,Impar;
while(a!=999)
{
printf("Digite um numero inteiro e positivo ou 999 para sair: \n");
scanf("%i",&a);
if(a>0)
contA++;
soma=(soma+a);
media=((soma-999)/contA);
if((a%2)==0)
contPar++;
if((a%2)!=0)
contImpar++;
else
pPar=((contPar/contA)*100);
pImpar=((contImpar/contA)*100);
system("pause");
#include<stdio.h>
#include<stdlib.h>
int main()
int i,k,A[4],j,aux;
for(k=0;k<5;k++)
for(i=0;i<4;i++)
scanf("%i",&A[i]);
}
for(i=0;i<4;i++)
printf("%i \t",A[i]);
for(i=0;i<j;i++)
if(A[i]<A[i+1])
aux=A[i];
A[i]=A[i+1];
A[i+1]=aux;
for(i=0;i<4;i++)
printf("%i \t",A[i]);
system("pause");
}
26. Escrever um algoritmo que l 5 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 at b, incluindo o a
e b se forem pares.
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
int i,j,num,A[2],aux;
for(i=0;i<5;i++)
for(j=0;j<2;j++)
scanf("%i",&A[i]);
if(A[0]<A[1])
for(num=A[0];num<=A[1];num++)
if((num%2)==0)
{
printf("%i eh numero par entre %i e %i",num,A[0],A[1]);
else
aux=A[1];
A[1]=A[0];
A[0]=aux;
for(num=A[0];num<=A[1];num++)
if((num%2)==0)
else
system("pause");
28. Escrever um algoritmo que l, para cada vendedor de uma empresa, o seu
nmero de identificao, seu salrio fixo e o total de vendas em reais por ele
efetuadas. Cada vendedor recebe um salrio fixo e uma comisso proporcional s
vendas por ele efetuadas. A comisso de 3% sobre o total de vendas at $ 1.000,00
e 5% sobre o que ultrapassa este valor. Escrever, para cada vendedor, o seu
nmero de identificao, o total de suas vendas, seu salrio fixo e seu salrio total.
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
int nFunc;
float fixo,total,vendas;
sTotal=(fixo+(vendas*0.03));
if((vendas>1000))
total=(fixo+30+(0.05*(vendas-1000)));
system("pause");
}
30. Escrever um algoritmo que gera e escreve os 5 primeiros nmeros perfeitos.
Um nmero perfeito aquele que igual a soma dos seus divisores. (Ex.: 6 = l + 2 +
3; 28 = 1 + 2 + 4 + 7 + 14 etc.).
#include<stdio.h>
#include<stdlib.h>
int main()
int cont=0,soma=0,j,num;
while(cont<=5)
for(num=0;num<1000;num++)
for(j=1;j<num;j++)
if((num%j)==0)
soma=soma+j;
if(num==soma)
cont++;
}
system("pause");
32. Escrever um algoritmo que gera os nmeros de 1000 a 1999 e escreve aqueles
que divididos por 11 do um resto igual a 5.
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
int num;
for(num=1000;num<1999;num++)
if((num%11)==5)
printf("%i\n",num);
system("pause");
34. Escrever um algoritmo que calcula e escreve o produto dos nmeros primos
entre 92 e 1478.
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
int i,j,primo,divExato,produto=1;
for(i=92;i<1478;i++)
for(j=1;j<i;j++)
if((i%j)==0)
divExato=j
if(divExato==2)
primo=i
produto=produto*primo;
system("pause");
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
double popA=90000000,popB=200000000,ano,contAno=0;
while(contAno<=1)
for(ano=1;ano<1000;ano++)
popA=popA+(popA*0.0031);
popB=popB+(popB*0.0015);
if(popA>popB)
contAno++;
}
system("pause");
#include<stdio.h>
#include<stdlib.h>
int main()
int X[100],i;
for(i=0;i<100;i++)
scanf("%i",&X[i]);
for(i=0;i<100;i++)
printf("\n\n\n\n");
for(i=0;i<100;i++)
{
if(X[i]==0)
X[i]=1;
for (i=0;i<100;i++)
system("pause");
#include<stdio.h>
#include<stdlib.h>
int main()
int N[80],i,menor,p;
for(i=0;i<80;i++)
{
scanf("%i",&N[i]);
for(i=0;i<80;i++)
printf("\n\n\n\n");
menor = N[0];
for(i=0;i<80;i++)
if(N[i]<menor)
menor = N[i];
p=i;
system("pause");
}
42. Escrever um algoritmo que l um vetor N[20] e o escreve. Troque, a seguir, o 1
elemento com o ltimo, o 2 com o penltimo, etc., at o 10 com o 11 e escreva o
vetor N assim modificado.
#include<stdio.h>
#include<stdlib.h>
int main()
int N[20],i,aux;
for(i=0;i<20;i++)
scanf("%i",&N[i]);
for(i=0;i<20;i++)
printf("%i \t",N[i]);
printf("\n\n\n\n");
for(i=0;i<10;i++)
aux=N[i];
N[i]=N[20-(i+1)];
N[20-(i+1)]=aux;
}
for(i=0;i<20;i++)
printf("%i \t",N[i]);
system("pause");
#include<stdio.h>
#include<stdlib.h>
int main()
int N[20],i,aux;
for(i=0;i<20;i++)
scanf("%i",&N[i]);
for(i=0;i<20;i++)
printf("%i \t",N[i]);
}
printf("\n\n\n\n");
for(i=0;i<10;i++)
aux=N[i];
N[i]=N[i+10];
N[i+10]=aux;
for(i=0;i<20;i++)
printf("%i \t",N[i]);
system("pause");
#include<stdio.h>
#include<stdlib.h>
int main()
int K[10],N[10],M[10],i,j,k;
for(i=0;i<10;i++)
scanf("%i",&K[i]);
for(i=0;i<10;i++)
printf("%i \t",K[i]);
for(j=0;j<10;j++)
scanf("%i",&N[j]);
for(j=0;j<10;j++)
printf("%i \t",N[j]);
printf("\n\n\n\n");
for(k=0;k<10;k++)
M[k]=K[k]-N[k];
system("pause");
#include<stdio.h>
#include<stdlib.h>
int main()
int V[20],i,contNulo=0,Y[20],j,aux;
for(i=0;i<20;i++)
scanf("%i",&V[i]);
for(i=0;i<20;i++)
printf("%i \t",V[i]);
printf("\n\n\n\n");
for(j=0;j<20;j++)
Y[j]=V[j];
for(j=0;j<20;j++)
if(Y[j]>0)
printf("%i \t",Y[j]);
system("pause");
#include<stdio.h>
#include<stdlib.h>
int main()
int
i,A[30],Pu[5],Pd[5],Pt[5],Pq[5],Pc[5],Ps[5],Iu[5],Id[5],It[5],Iq[5],Ic[5],Is[5],con
tP=0,contI=0,cpu=0,cpd=0,cpt=0,cpq=0,cpc=0,cps=0,ciu=0,cid=0,cit=0,ciq=0,ci
c=0,cis=0;
for(i=0;i<30;i++)
{
scanf("%i",&A[i]);
for(i=0;i<30;i++)
if((A[i]%2)==0)
if((contP>=0)&&(contP<5))
Pu[contP]=A[i];
cpu++;
if((contP>=5)&&(contP<10))
Pd[contP-5]=A[i];
cpd++;
if((contP>=10)&&(contP<15))
Pt[contP-10]=A[i];
cpt++;
if((contP>=15)&&(contP<20))
Pq[contP-15]=A[i];
cpq++;
if((contP>=20)&&(contP<25))
Pc[contP-20]=A[i];
cpc++;
if((contP>=25)&&(contP<30))
Ps[contP-25]=A[i];
cps++;
contP++;
else
if((contI>=0)&&(contI<5))
Iu[contI]=A[i];
ciu++;
if((contI>=5)&&(contI<10))
Id[contI-5]=A[i];
cid++;
if((contI>=10)&&(contI<15))
{
It[contI-10]=A[i];
cit++;
if((contI>=15)&&(contI<20))
Iq[contI-15]=A[i];
ciq++;
if((contI>=20)&&(contI<25))
Ic[contI-20]=A[i];
cic++;
if((contI>=25)&&(contI<30))
Is[contI-25]=A[i];
cis++;
contI++;
for(i=0;i<5;i++)
if(cpu==5)
for(i=0;i<5;i++)
if(cpd==5)
for(i=0;i<5;i++)
if(cpt==5)
for(i=0;i<5;i++)
if(cpq==5)
for(i=0;i<5;i++)
if(cpc==5)
for(i=0;i<5;i++)
if(cps==5)
}
for(i=0;i<5;i++)
if(ciu==5)
for(i=0;i<5;i++)
if(cid==5)
for(i=0;i<5;i++)
if(cit==5)
for(i=0;i<5;i++)
if(ciq==5)
for(i=0;i<5;i++)
if(cic==5)
for(i=0;i<5;i++)
{
if(cis==5)
system("pause");
52. Escrever um algoritmo que gera os 10 primeiros nmeros primos acima de 100
e os armazena em um vetor X(10) escrevendo, no final, o vetor X.
#include<stdio.h>
#include<stdlib.h>
int main()
int num,divisor,i,j,contPrimo=0,X[10];
while (contPrimo<=10)
for(num=100;num<=1000;num++)
for(i=0;i<num;i++)
if((num%i)==0)
divisor=i;
if(divisor==2)
contPrimo++;
num=X[0+contPrimo];
}
for(j=0;j<10;j++)
printf("%i \t",X[j]);
system("pause");
#include<stdlib.h>
int main()
int M[9][9],i,j,SL=0,SC=0,SDP=0,SDC=0,S=0;
for(i=0;i<9;i++)
for(j=0;j<9;j++)
{
printf("Digite o valor para M[%i][%i] ",i,j);
scanf("%i",&M[i][j]);
for(i=0;i<9;i++)
for(j=0;j<9;j++)
printf("%i \t",M[i][j]);
printf("\n");
for(j=0;j<9;i++)
SL=SL+M[3][j]; //item a
for(i=0;i<9;i++)
SC=SC+M[i][1]; //item b
for(i=0;i<9;i++)
for(j=0;j<9;j++)
if(i==j)
SDP=SDP+M[i][j]; //item c
for(i=0;i<9;i++)
for(j=0;j<9;j++)
if(j==8-i)
SDC=SDC+M[i][j]; //item d
for(i=0;i<9;i++)
for(j=0;j<9;j++)
S=S+M[i][j]; //item e
system("pause");
#include<stdlib.h>
int main()
int M[10][10],i,j,aux,aux1;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
scanf("%i",&M[i][j]);
for(j=0;j<10;j++)
aux=M[1][j];
M[1][j]=M[7][j];
M[7][j]=aux;
for(i=0;i<10;i++)
aux=M[i][3];
M[i][3]=M[i][9];
M[i][9]=aux;
}
for(i=0;i<10;i++)
for(j=0;j<10;j++)
if(i==j)
aux=M[i][j];
M[i][j]=M[i][9-i];
M[i][9-i]=aux;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
aux1=M[4][j];
M[4][j]=M[i][9];
M[i][9]=aux1;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
printf("%i \t",M[i][j]);
}
printf("\n");
system("pause");
58. Escrever um algoritmo que l uma matriz M(5,5) e cria 2 vetores SL(5), SC(5)
que contenham respectivamente as somas das linhas e das colunas de M. Escrever
a matriz e os vetores criados.
#include<stdio.h>
#include<stdlib.h>
int main()
int M[5][5],i,j,SL[25]={0},SC[25]={0};
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%i",&M[i][j]);
}
for(i=0;i<5;i++)
for(j=0;j<5;j++)
printf("%i \t",M[i][j]);
for(i=0;i<5;i++)
for(j=0;j<5;j++)
SL[i]=SL[i]+M[i][j];
SC[i]=SC[i]+M[j][i];
for(i=0;i<5;i++)
printf("%i \t",SL[i]);
printf("\n\n\n\n\n");
for(i=0;i<5;i++)
{
printf("%i \t",SC[i]);
system("pause");
60. Escrever um algoritmo que l uma matriz A(8,8) sem elementos duplicados e a
escreve. Ler, a seguir, um n no determinado de valores N e verifique para cada N
lido se o valor de N est ou no na matriz A. Se estiver, encerrar a pesquisa
escrevendo o valor e a mensagem: "Foi encontrado na posio:", caso contrrio
escrever o valor e a mensagem: O valor no est na matriz A.
#include<stdio.h>
#include<stdlib.h>
int main()
int M[8][8],num,i,j;
for(i=0;i<8;i++)
for(j=0;j<8;j++)
scanf("%i",&M[i][j]);
}
while(num!=666)
scanf("%i",&num);
for(i=0;i<8;i++)
for(j=0;j<8;j++)
if(num==M[i][j])
else
system("pause");
#include<stdio.h>
#include <stdlib.h>
int main()
int N[15][5],i,j,a,b,repet;
for (i=0;i<15;i++)
for(j=0;j<5;j++)
scanf("%i", &N[i][j]);
for (i=0;i<15;i++)
printf("%i\t", N[i][j]);
printf("\n");
for (i=0;i<15;i++)
for(j=0;j<5;j++)
repet = 0;
for (a=0;a<15;a++)
for(b=0;b<5;b++)
if (N[i][j] == N[a][b])
repet++;
if (repet>1)
system("pause");
#include<stdio.h>
#include<stdlib.h>
int i;
scanf("%i", &vetor[i]);
int i;
int cont = 0, i;
if (A == vetor[i])
cont++;
}
}
return cont;
int pos, i;
pos = 0;
if (vetor[i] != A)
novoVetor[pos]= vetor[i];
pos++;
*novoTam = pos;
int main()
escreve(Y, t);
cria_vetor(Y, t, A, X, &tX);
system("pause");
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define pi 3.14159265
float x,j,t=0,g=9.8;
while(j>=0)
x=(vel*cos(angulo))*t;
j=((vel*sin(angulo))*t)-(1/2)*g*(t*t);
printf("\n\n");
t=t+0.1;
return 0;
#include<stdio.h>
#include<stdlib.h>
int c,i;
for(i=0;i<5;i++)
c=a*b;
return c;
int main()
int A[5],B[5],C[5],i;
for(i=0;i<5;i++)
scanf("%i",&A[i]);
for(i=0;i<5;i++)
scanf("%i",&B[i]);
for(i=0;i<5;i++)
{
C[i]=produto(A[i],B[i]);
for(i=0;i<5;i++)
printf("%i \t",C[i]);
system("pause");