Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções

Como testar se um número informado pertence a série Fibonacci - Exercícios Resolvidos de C

Quantidade de visualizações: 578 vezes
Pergunta/Tarefa:

Escreva um programa C que pede para o usuário informar um número inteiro positivo e usa uma função para informar se o número passado como argumento pertence à série Fibonacci.

Como sabemos, a série de Fibonacci é uma série de números na qual cada número é obtido mediante a soma dos dois números anteriores. Veja, por exemplo, os primeiros doze números da sequência Fibonacci:

0 1 1 2 3 5 8 13 21 34 55 89

Sua saída deverá ser parecida com:

Informe um número: 21
Pertence à sequência Fibonacci
Resposta/Solução:

Veja a resolução comentada deste exercício usando C:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

// assinatura da função auxiliar
int pertenceSerieFibonacci(int n);

// função principal do programa
int main(int argc, char *argv[]){
  // variáveis usadas na resolução do problema
  int numero;
	
  setlocale(LC_ALL,""); // para acentos do português 
  
  // vamos solicitar um número inteiro positivo
  printf("Informe um número: ");
  // lê o número
  scanf("%d", &numero);
    
  // vamos testar se o número pertence à sequência
  // Fibonacci
  if(pertenceSerieFibonacci(numero)){
    printf("Pertence à sequência Fibonacci");
  }
  else{
    printf("Não pertence à sequência Fibonacci");
  }
  
  printf("\n\n");
  system("PAUSE");	
  return 0;
}
  
// função que recebe um número e informa se ele pertence
// à sequência Fibonacci
int pertenceSerieFibonacci(int n){
  // define os termos iniciais
  int primeiro = 0, segundo = 1, terceiro = 0;
    
  // enquanto o terceiro valor for menor que o número informado
  while (terceiro < n){
    terceiro = primeiro + segundo;
    primeiro = segundo;
    segundo = terceiro;
  }
         
  // pertence à sequência Fibonacci?    
  return terceiro == n;
}


Link para compartilhar na Internet ou com seus amigos:

C ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercício Resolvido de C - Usando um laço for para percorrer os elementos de uma matriz e exibí-los na ordem original e invertida

Quantidade de visualizações: 10264 vezes
Pergunta/Tarefa:

Considere a seguinte matriz de inteiros:

// uma matriz de inteiros contendo sete elementos
int valores[] = {6, 9, 12, 34, 83, 20, 17};
Escreva um programa C que usa um laço for para percorrer todos os elementos desta matriz duas vezes e exibí-los na ordem original e invertidos (somente na exibição, ou seja, não é necessário alterar a ordem dos elementos na matriz).

Seu programa deverá exibir a seguinte saída:

Ordem original:

6 9 12 34 83 20 17 

Ordem inversa:

17 20 83 34 12 9 6
Resposta/Solução:

Veja abaixo a resolução completa para esta tarefa:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  // uma matriz de inteiros contendo sete elementos
  int valores[] = {6, 9, 12, 34, 83, 20, 17};
  int tam_matriz = 7;
  int i;
    
  // primeiro vamos exibir os valores da matriz na ordem original
  printf("Ordem original:\n");

  for(i = 0; i < tam_matriz; i++){
    printf("%d  ", valores[i]);
  }

  // agora vamos exibir na ordem inversa
  printf("\n\nOrdem inversa:\n");

  for(i = tam_matriz - 1; i >= 0; i--){
    printf("%d  ", valores[i]);
  }
  
  printf("\n\n");
  system("PAUSE");	
  return 0;
}



C ::: Dicas & Truques ::: Strings e Caracteres

Como concatenar apenas parte de uma string à outra string usando a função strncat() da linguagem C

Quantidade de visualizações: 9830 vezes
Muitas vezes precisamos adicionar à uma string apenas alguns caracteres de outra, ou seja, não queremos concatenar as duas strings completamente; apenas parte da segunda. Para isso podemos usar a função strncat(). Veja o protótipo e explicação desta função:

char *strncat(char *str1, const char *str2, size_t n);


Aqui a quantidade n de caracteres da string str2 será anexada ao final da string str1. O caractere de fim de string (null character) da str1 é sobrescrito durante a operação e anexado novamente assim que os caracteres desejados da str2 sejam copiados. Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[])
{
  char texto[] = "Gosto muito de ";
  char palavra[] = "C++";

  /*
  Na segunda sequencia de caracteres nós temos "C++", mas
  queremos anexar à primeira sequencia apenas "C". Veja
  como isso é feito
  */

  strncat(texto, palavra, 1);

  // exibe o resultado
  puts(texto);

  system("pause");
  return 0;
}

Ao executar este códigos nós teremos o seguinte resultado:

Gosto muito de C


C ::: Dicas & Truques ::: Strings e Caracteres

Como contar as ocorrências de uma substring em uma string em C usando uma função substring_count() personalizada

Quantidade de visualizações: 10220 vezes
Em algumas situações precisamos obter a quantidade de vezes que uma substring ocorre dentro de uma string. Para isso podemos usar a função personalizada substring_count(). Esta função recebe a string e a substring que desejamos pesquisar e retorna um inteiro contendo a quantidade de vezes que a substring foi encontrada. Veja o código:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// função personalizada que permite contar as
// ocorrências de uma substring em uma string
int substring_count(const char *str, const char *substring){
  int i, j, k, quant = 0;

  // vamos percorrer todos os caracteres da string
  for(i = 0; str[i]; i++){
    for(j = i, k = 0; str[j] == substring[k]; j++, k++){
      if(substring[k + 1] == 0) // fim da comparação
        quant++;
    }
  }

  return quant;
}

int main(int argc, char *argv[]){
  char frase[] = "Gosto muito de Java, JavaScript e Python";

  printf("Ocorrencias encontradas: %d",
    substring_count(frase, "Java"));

  puts("\n\n");
  system("PAUSE");
  return 0;
}



Desafios, Exercícios e Algoritmos Resolvidos de C

Veja mais Dicas e truques de C

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 72 usuários muito felizes estudando em nosso site.