Correção Exercícios - Aula 5

Correção Exercícios - Aula 5

1) Escreva um programa que leia 3 números inteiros, calcule a média aritmética e escreva a resposta para o usuário.

  #include <stdio.h>

  
  main()
  {
  	float n1, n2, n3;		/* números que serão lidos */
  	float media;		/* armazenará a resposta (média artimética) */
  	
  	printf("Número 1: ");
  	scanf("%f", &n1);
  	getchar();		/* nosso faxineiro */
  	
  	printf("Número 2: ");
  	scanf("%f", &n2);
  	getchar();
  	
  	printf("Número 3: ");
  	scanf("%f", &n3);
  	getchar();
  	
  	/* Agora, o cálculo */
  	media= (n1+n2+n3)/3;
  	
  	/* Mostrando o resultado pro usuário... */
  	printf("Média aritmética: %.2f\n", media);
  	return 0;
  }

Se você fez o programa e testou, deve ter percebido que se n1, n2 e n3 forem inteiros, o programa exibirá o resultado da divisão inteira, e não real. Se percebeu, garoto esperto! Se não sacou, bastava declarar as variáveis dos 3 números a ler como float, e não como int.

2) Faça um programa que, dado o valor de uma compra, calcule o ICMS a ser pago; considere uma taxa de 12%.

  #include <stdio.h>
  
  main()
  {
  	float valor, icms;
  	
  	printf("Digite o valor da compra: ");
  	scanf("%f", &valor);
  	
  	/* O cálculo... */
  	icms= valor*0.12;
  	
  	printf("ICMS a ser pago: %.2f\n");
  	return 0;
  }

3) Dado um número com 3 algarismos, faça um programa para inverter a ordem de seus algarismos.

  #include <stdio.h>
  
  /* Veja esta interessante técnica para extrair os algarismos de um número */
  
  main()
  {
  	int num, centena, dezena, unidade, invert;
  	
  	printf("Digite um número de 3 algarismos: ");
  	scanf("%3d", &num);
  	
  	/* extraindo a centena */
  	centena= num/100;
  		
  	/* extraindo a dezena */
  	dezena= (num-100*centena)/10;
  		
  	/* extraindo a unidade */
  	unidade= (num-(centena*100 + dezena*10));
  		
  	/* Agora nós já temos cada pedaço do número. Basta montar, invertido */
  	invert= (unidade*100)+(dezena*10)+centena;
  	
  	/* imprime para o usuário... */
  	printf("Invertido: %d\n", invert);
  	return 0;
  }

Só um exemplo: se o cara digitar 354, 3 é a centena, 5 é a dezena e 4 é a unidade.

Sacou como eu queria que fizesse o programa? Houve até uma resposta no forum usando scanf(), mas assim é melhor, pois você pode pegar qualquer número, sem depender do scanf(), e invertê-lo, ou então extrair suas partes (unidade, dezena, centena, etc.) para algum fim. Bem, agora vocês tem um truquezinho na manga... :)

4) Dado um valor em anos, faça um programa que converta para segundos.

  #include <stdio.h>
  
  main()
  {
  	float anos; 
  	double segundos;
  	
  	printf("Digite os anos: ");
  	scanf("%f", &anos);
  	
  	segundos= anos*(86400*365);
  	
  	printf("Em segundos: %f\n", segundos);
  	return 0;
  }

Esse eu acho que forcei a barra... Poderia ser minutos mesmo... :)



Esta notícia veio de LinuxDicas - Artigos, Dicas e Notícias Sobre o Mundo Linux
http://www.linuxdicas.com.br

O link desta notícia é:
http://www.linuxdicas.com.br/modules.php?name=Sections&op=viewarticle&artid=198