You are on page 1of 15

LISTA

QUESTAO 1:
/*questionario*/
#include <stdio.h>
int main()
{char resp;
printf("responda as perguntas com sim (s) ou no (n)\n\n");
printf("um computador e' um dispositivo capaz de realizar e tomar
decisoes logicas com\numa velocidade milhoes ou mesmo trilhoes de
vezes mais rapido que os seres\nhumanos?\n");
scanf("%c",&resp);
switch (resp){case's': printf("correto!\n\n");break; case'n':
printf("incorreto!\n\n");break; default: printf("resposta invalida!\n\n");}
printf("Os computadores processam dados sob o controle de conjuntos
de\ninstrucoes chamados programas de computador. Estes programas
conduzem o\ncomputador atravesde um conjunto ordenado de acoes
especificado por pessoas\nchamadas programadores de
computador?\n");
scanf(" %c",&resp);
switch (resp){case's': printf("correto!\n\n");break; case'n':
printf("incorreto!\n\n");break; default: printf("resposta invalida!\n\n");}

printf("o tempo de execusao e tempo de compilacao e' sao os


mesmos?\n");
scanf(" %c",&resp);
switch (resp){case'n': printf("correto!\n\n");break; case's':
printf("incorreto!\n\n");break; default: printf("resposta invalida!\n\n");}

system("pause");return 0;}
QUESTAO 2
/*triangulo*/
#include<stdio.h>
int main()
{ int x, y, z;
printf("Digite 3 valores inteiros:\n");
scanf("%d%d%d", &x, &y, &z);
if(x<y+z && y <x+z && z< x+y)
{ if(x == y && y ==z)printf("E um triangulo equilatero.\n");
else{ if(x == y || y== z || z == x ) printf("E um triagulo isoceles.\n");
else printf("E um triagulo escaleno.\n"); };}
else{printf("Nao podem ser lados de um triangulo.\n"); }
return 0;}
QUESTAO 3
/*calculadora*/
#include<stdio.h> int main(){
char operasao; float n1,n2;
printf("Escolha a operacao (+ - x /)");
scanf("%d",&operasao);
printf("Entre com os numeros que deseja operar");
scanf("%f%f",&n1,&n1);
switch (operasao)
{case'+': printf("%f.2+%f.2=%f.2",n1,n2,n1+n2); break;
case'-': printf("%f.2-%f.2=%f.2",n1,n2,n1-n2); break;
case'x': printf("%f.2x%f.2=%f.2",n1,n2,n1*n2); break;
case'/': printf("%f.2/%f.2=%f.2",n1,n2,n1/n2); break;}
system("pause"); return 0;}
QUESTAO 4
/* nmero triangular*/
#include<stdio.h>
int main()
{ int n, x=1;
printf("Digite um numero inteiro nao negativo:\n");
scanf("%d", &n);
while(x *(x+1)*(x+2) < n) x++;
if(x *(x+1)*(x+2) == n) printf("O numero e' triangular! \n");
else printf("O numero nao e' triangular! \n");
system ("pause"); return 0; }

QUESTAO 5
/*mcd usando o olgaritmo de euclides*/
#include <stdio.h>
int main()
{ int n1, n2, r;
printf("Digite um inteiro: "); scanf("%d",&n1); printf ("\n\n");
printf("digite um inteiro menor: ");scanf("%d",&n2); printf("\n\n");
while (r!=0) {r = n1%n2; n1=n2; n2=r;}
printf("o mcd sera igual a : %d", n1); printf("\n\n");
system("pause");return 0;}
QUESTAO 6
/*verifica se um numero e perfeito*/
#include <stdio.h>
int main()
{ int num, count,soma=0;
printf("digite um inteiro maior a zero: "); scanf("%d",&num);
for(count=1;count<=num;count++)
{if(num%count== 0 && count!= num) soma=soma+count;}
if(num==soma)printf("%d perfeito\n",num);
else printf("%d inperfito",num);
system("pause");return 0;}

QUESTAO 7
/* seqncia de Fibonacci */
#include<stdio.h>

int main()
{ int numero, ultimo=1, penultimo=0, count, termo;
printf("Entre com o termo desejado: ");
scanf("%d", &termo);
for( count = 3 ; count <= termo ; count++)
{ numero = ultimo + penultimo; penultimo = ultimo; ultimo=numero;}
printf("Elemento de termo %d: %d\n", termo, numero);
system ("pause"); return 0;}
QUESTAO 8
/* Programa para converter da base 2 para a base 10 */

#include <stdio.h>
int main()
{ int num, pot2=1, final=0;
printf("Digite o numero a ser transformado da base 2 para a base 10: ");
scanf("%d", &num);
printf("%d na base 10 e': ", num);
while (num != 0)
{ final = final + num % 10 * pot2; num = num / 10; pot2 = pot2 * 2;}
printf("%d\n", final);
system ("pause"); return 0;}
QUESTAO 9
/*comprimento de um segmento crescente de comprimento mximo*/
#include <stdio.h>

int main() {
int n,num,pnum,seq,seqmax,i;

printf("Digite o numero de elementos da sequencia: ");


scanf("%d", &n);
printf("Digite uma sequencia com %d numeros inteiros: ", n);

scanf("%d", &pnum);
seq = 1;
seqmax = 1;

for (i = 1; i < n; i++) {


scanf("%d", &num);
if (num > pnum) {
seq = seq + 1;
if (seqmax < seq)
seqmax = seq;
}
else
seq = 1; /* comecou um novo segmento crescente */
pnum = num;
}
printf("O comprimento do segmento crescente maximo: %d\n", seqmax);

system(pause); return 0;
}
QUESTAO 10
/*palindrome*/
#include <stdio.h>
int main(){
int num,q,rev;
printf("Digire um numero: "); scanf("%d",&num);
q=num; rev=0;
while (q!=0){rev=rev*10+q%10; q=q/10;}
if(rev==num) printf("%d sera palindrome\n",num);
else printf("%d nao e' palindrome\n",num);
system ("pause"); return 0;}

QUESTAO 11
/* maior e menor termo */
#include<stdio.h>
int main() { int *v, n,i, maior=1, menor;
p = calloc(100, sizeof(int));
printf("digite o numero de termos da sequencia 0<n<100: ");
scanf("%d",&n);
printf("digite uma sequencia comd %d numeros interiros:\n", n);
for (i=0; i<n ;i++)scanf("%d",&v[i]);
for (i=0;i<n;i++) if(maior<v[i]) maior=v[i];
printf("o maior numero da sequencia sera: %d\n", maior);
maior=menor;
for (i=0;i<n;i++) if(menor>v[i]) menor=v[i];
printf("o menor numero da sequencia sera: %d\n", menor);
free (v); system("pause");return 0; }
QUESTAO 12
/*maior frequncia */
#include <stdio.h>
int main() {
int n, i, j,vezes,maiorf=1;
char maisvezes, *seq;
p = calloc(100, sizeof(char));
printf("\nDigite o numero de elementos da sequencia: "); scanf("%d", &n);
printf("Digite uma sequencia com %d vogais minusculas:\n", n);
for (i = 0; i < n; i++) scanf(" %c", &seq[i]);

for (i = 0; i < n; i++) {


vezes = 1;
j = i + 1;
while (j < n)
if (seq[j] != seq[i])
j++;
else { vezes++;
n--;
seq[j] = seq[n];}
printf("%c ocorre %d vezes\n", seq[i], vezes);
if(maiorf<vezes){seq[i], maiorf=vezes, maisvezes=seq[i];};}

printf("A vogal com maior frequecia sera: %c\n", maisvezes);


free (seq ); system("pause"); return 0;}
QUESTAO 13
/*matriz de permutaao*/
#include <stdio.h>
#include <stdlib.h>
int main()
{ int **p, i, j,n, count0=0, count1=0 ;
printf("digite a dimenao da matriz nxn: "); scanf("%d",&n);
p = calloc(n, sizeof(int *));
for(i=0; i<n; i++){
p[i] = calloc(n, sizeof(int));}
printf("Digite os valores da matriz\n");
for(i = 0; i<n; i++)
for(j=0; j<n; j++)
scanf("%d", &p[i][j]);
printf("Matriz lida\n");
for(i = 0; i<n; i++){
for(j=0; j<n; j++){
printf("%d, ", p[i][j]);}printf("\n");}

for(i = 0; i<n; i++){


for(j=0; j<n; j++){
if(p[i][j]==1)count1=count1+1; if(p[i][j]==0)count0=count0+1;};}
if(count0==n*n-n && count1==n)printf("matriz de permutaao!");
else printf("a matriz nao e' de permutaao!");
//desalocando memoria usada
for(i=0; i<n; i++){free(p[i]);}free(p);}
QUESTAO 14

/*funao MDC*/

#include <stdio.h>
int mcd (int a , int b)
{int r, num1,num2; num1=a; num2=b ; while (r!=0) {r = num1%num2;
num1=num2, num2=r;}return num1;}

int main()
{int n1, n2, MCD;
printf ("digite dois inteiros: "); scanf ("%d %d",&n1,&n2);
if (n1>n2) {MCD = mcd(n1,n2); printf(" o MCD entre %d e %d sera: %d\n",
n1,n2,MCD) ;}
else {if(n2>n1){MCD = mcd(n2,n1); printf("o MCD entre %d e %d sera:
%d\n", n2,n1,MCD);}}
system ("pause"); return 0;}
QUESTAO 15
/*funao primo*/
#include <stdio.h>
int primo(int num){int div=2,cont=0,q; while(div<num){ q=num%div; div++;
if(q==0)cont=cont+1; }
if(cont!=0)return 0; else return 1; }
int main()
{int n, r;
printf("digite um inteiro; "); scanf("%d",&n); r=primo(n);
if(r==1)printf("numero primo!\n");
else printf("o numero nao e' primo!\n");
system("pause"); return 0;}
QUESTAO 16
/*funo encaixa*/
#include <stdio.h>

int encaixa(int a, int b)


{while (b != 0 && a % 10 == b % 10) {a = a/10; b = b/10; }
if (b == 0) return 1;
else return 0; }

int main() { int a, b,seq, maior, menor;

printf("Digite dois inteiros positivos: ");


scanf("%d %d", &a, &b);

if (a > b) { maior = a; menor = b; }


else {maior = b; menor = a;}
seq = 0;
while (maior >= menor) { if (encaixa(maior,menor) == 1)
seq = 1;
maior = maior/10; }
if (seq == 1) printf("%d e' segmento de %d\n",b,a);
else printf("%d nao e' segmento de %d\n",b,a);

return 0;}
QUESTAO 17
/*funo vetor cresente*/
#include <stdio.h>
#include <stdlib.h>
Int troca(int*a, int*b)
{int n, *v, i, j;
printf ("Digite o tamanho da sequencia"); scanf("%d",&n);
v=malloc(n*sizeof(int));
printf("digite uma sequencia de d% numeros inteiros: \n", n);
for(i=0;i<n;i++)scanf("%d",&v[i]);
for(i=n-1;i>0;i--) for(j=0;j<i;j++){if (v[i]>v[j+1]); troca(&v[i];&v[j+1]);}
printf("A sequencia de entrada em ordem cresente e': \n");
for(i=0;i<n;i++)printf("%d",v[i]);printf("\n");system("pause"); return 0;}
QUESTAO 18
/*funo mcm*/
#include <stdio.h>

int divide (int *m, int*n, int d)


{ int resp;

if (*m % d == 0 || *n % d == 0) resp = 1;
else resp = 0;

if (*m % d == 0) *m = *m/d;
if (*n % d == 0) *n = *n/d;
return(resp);
main()
{ int m, n, qm, qn, d, mmc;
printf("Digite m e n: "); scanf("%d %d", &m, &n);
d = 2; mmc = 1; qm = m; qn = n;
while (qm != 1 || qn != 1)
if (divide(&qm, &qn, d)) mmc = mmc * d;
else d = d + 1;
printf("mmc(%d, %d) = %d \n", m, n, mmc); system ("pause"); return 0;}
QESTAO 19
/*factorial com recursividade */
#include <stdio.h>
int soma(int n)
{ if(n == 1)
return 1;
else
return ( n + soma(n-1) );}

int main()
{
int n;
printf("Digite um inteiro positivo: ");
scanf("%d", &n);

printf("Soma: %d\n", soma(n));


system ("pause"); return 0; }

You might also like