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