...collaborate on

Resolução da Ficha Prática 1

Exercício 1: O maior de 2 números

#include <stdio.h>

int main( ) {
  int a, b;
  printf("Primeiro número: \n");
  scanf("%d", &a);
  printf("Segundo número: \n";
  scanf("%d", &b);
  printf("O maior número é o %d\n", a>b?a:b);
  return 0;
}

Exercício 2: O maior de N números

#include <stdio.h>

/*----- programa principal -----*/  
int main( ) {
  int N=0, conta; 
  int num, max;

  printf("Indique quantos números vai introduzir: "); 
  while (N<=0) {
    scanf("%d",&N);
  }
  printf("Escreva o próximo número: ");
  scanf("%d",&num);
  
  max = N;
  for (conta=N-1; conta>0; conta--) { 
    printf("Escreva o próximo número: "); scanf("%d",&num);
    if (num > max) { 
       max = num;
    } 
  }
  printf("\nO Maior dos %d numeros introduzidos e: %d \n",N,max); 
   
  return 0;
}

Exercício 3: Números pares

#include <stdio.h>

/*----- programa principal -----*/  
int main( ) {
  int N=0; 
  int par;

  printf("Indique o limite superior para os números pares a gerar (imprimir): "); 
  scanf("%d",&N); 

  for (par=2; par<=N; par=par+2) { 
    printf("O próximo Numero Par e: %d \n",par);
  }
  printf("Ja nao ha mais Numeros Pares menores ou iguais a %d \n",N);
    
  return 0;
}

Exercício 3: Números pares (outra solução)

                                            
#include <stdio.h>

/*----- programa principal -----*/  
int main( ) {
  int N=0; 
  int par, conta;

  printf("Indique quantos números pares quer gerar (imprimir): "); 
  while (N <= 0) {
    scanf("%d",&N);
  }
  conta=0; 
  while (conta < N) { 
    conta++;
    par = 2*conta; 
    printf("O próximo Numero Par e: %d \n",par);
  }
  printf("Ja foram gerados os %d primeiros Numeros Pares \n",N);
    
  return 0;
}

Exercício 4: Potências (de base A e expoente B)

#include <stdio.h>

/*----- programa principal -----*/  
int main( ) {
  int A,B; 
  int pot;

  printf("Escreva a Base e o Expoente (inteiro e nao-negativo): "); 
  scanf("%d %d",&A,&B); 
  pot = 1;
  if (B >= 0) {
     while (B) /* equivalente a (B>0) */
     { 
       pot = pot*A; 
       B--;    /* ou seja, B = B-1 */
     }
     printf("A potencia %d elevado a %d e igual a %d \n",A,B,pot);

  } else {
     printf("\n O expoente tem de ser um Numero Inteiro Nao-Negativo \n");
  }
     
  return 0;
}         

Exercício 5: Factorial

#include <stdio.h>

/*----- programa principal -----*/  
int main( ) {
  int N=0; 
  int fact=1;

  printf("Indique o Numero cujo Factorial quer calcular (inteiro e positivo): "); 
  while (N<=0) {
    scanf("%d",&N);
  }
  
  while (N) { 
    fact = fact*N; 
    N--;
  }
  printf("O Factorial do numero dado e: %d \n",fact);
    
  return(0);
}

Exercício 5: Factorial: solução recursiva

#include <stdio.h>

/*----- programa principal -----*/  
int main( ) {
  int N=0; 

  printf("Indique o Numero cujo Factorial quer calcular (inteiro e positivo): "); 
  while (N<=0) {
    scanf("%d",&N);
  }
  
  printf("O Factorial do numero dado e: %d \n",factorial(N));
    
  return(0);
}

int factorial(int a) {
   if (a <= 1) return 1;
   else return a * factorial(a - 1);
}

Exercício 6: Conversão Celsius para Fahreneit

#include <stdio.h>

/*----- programa principal -----*/  
int main( ) {
  float Celsius; 
  int Fahr;

  for (Fahr=0; Fahr<=300; Fahr += 5) { 
    printf("%5d Fhareneit ==> %6.1f \n", Fahr, ((Fahr-32.0)/1.8));
    N--;
  }
    
  return 0;
}

-- JoseCarlosRamalho - 09 Mar 2004

r3 - 24 Jan 2005 - 17:31:05 - JoseCarlosRamalho
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Syndicate this site RSSATOM