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 CQuantidade de visualizações: 528 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 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 ::: Dicas & Truques ::: Arquivos e Diretórios |
Como ler o conteúdo de um arquivo um caractere de cada vez usando a função fgetc() da linguagem CQuantidade de visualizações: 431 vezes |
A função fgetc() da linguagme C pode ser usada quando queremos ler o conteúdo de um arquivo um caractere de cada vez. Esta função retorna o caractere atualmente representado pelo indicador de posição interna no arquivo. Depois de lido o caractere, o indicador de posição avança para apontar para o próximo caractere. Veja a assinatura desta função: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- int fgetc(FILE *file); O trecho de código abaixo mostra como usar um laço while para ler todos os caracteres do arquivo especificado e exibir o conteúdo na tela: ---------------------------------------------------------------------- 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[]) { FILE *arquivo = fopen("c:\\testes.txt", "r"); int caractere; // testa se o arquivo foi aberto com sucesso if(arquivo != NULL){ // vamos usar um laço para ler o conteúdo do arquivo // e exibí-lo while((caractere = fgetc(arquivo)) != EOF) printf("%c", caractere); fclose(arquivo); // libera o ponteiro para o arquivo } else printf("Nao foi possivel abrir o arquivo."); printf("\n\n"); system("PAUSE"); return 0; } |
C ::: Dicas & Truques ::: Strings e Caracteres |
Como verificar a existência de qualquer um dos caracteres de um substring em uma string em C usando a função strpbrk()Quantidade de visualizações: 10342 vezes |
Muitas vezes precisamos verificar se qualquer um de um conjunto de caracteres está contido em uma string. Para isso nós podemos usar a função strpbrk(). Esta função recebe duas strings e retorna um ponteiro para a primeira ocorrência de qualquer um dos caracteres presentes na segunda string e também presentes na primeira string. Veja um exemplo no qual verificamos se uma string contém qualquer um dos digitos de 0 a 9:---------------------------------------------------------------------- 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[]) { char texto[] = "Gosto muito de C e C++"; char numeros[] = "1234567890"; char *pos_atual = strpbrk(texto, numeros); if(pos_atual != NULL){ puts("A string contem digitos"); } else{ puts("A string NAO contem digitos"); } system("pause"); return 0; } |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Exercício Resolvido de C - Escreva um programa C que usa o laço for para desenhar um padrão de diamante de estrelasQuantidade de visualizações: 1774 vezes |
Pergunta/Tarefa: Neste exercício para a prática da linguagem C você deverá usar o laço for para desenhar o famoso padrão de diamante de estrelas. Você pode também usar o laço while, se assim você o desejar. O programa deverá pedir que o usuário informe a quantidade de linhas que marcará a metade do diamante. Seu programa deve apresentar a seguinte saída: Informe a quantidade de linhas: 5 * *** ***** ******* ********* ******* ***** *** * Pressione qualquer tecla para continuar... Veja a resolução comentada deste exercício em 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> int main(int argc, char *argv[]){ int i, j; // para controlar o laço externo e interno int linhas; // quantidade de linhas int estrelas, espacos; // quantidade de estrelas e espaços // vamos pedir a quantidade de linhas printf("Informe a quantidade de linhas: "); // vamos ler a entrada do usuário scanf("%d", &linhas); estrelas = 1; // começamos com uma estrela (no topo do diamante) espacos = linhas - 1; // se linhas for igual a 5 nós começamos // com 4 espaços // repete duas vezes a quantidade de linhas informadas for(i = 1; i < linhas * 2; i++){ // vamos imprimir os espaços for(j = 1; j <= espacos; j++){ printf(" "); } // agora vamos imprimir estrelas for(j = 1; j < estrelas * 2; j++){ printf("*"); } // passamos para a próxima linha printf("\n"); if(i < linhas){ // é a parte superior do diamante espacos--; // diminui os espaços estrelas++; // e aumenta as estrelas } else{ // é a parte inferior do diamente espacos++; // aumenta os espaços estrelas--; // e diminui as estrelas } } printf("\n\n"); system("pause"); return 0; } |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Processos e técnicas construtivas de instalações elétricas e hidráulicas As instalações elétricas são compostas por dispositivos cuja função é distribuir a energia elétrica, proveniente da rede de abastecimento, entre os pontos de utilização. Analise as afirmativas a seguir, referentes aos dispositivos que compõem as instalações elétricas. I. O quadro de distribuição consiste no dispositivo responsável pela divisão dos circuitos elétricos de uma edificação. II. Os condutores consistem em fios ou cabos de cobre ou alumínio, cuja função é transmitir a corrente elétrica. III. As tomadas de corrente são dispositivos cuja função é gerar corrente elétrica, permitindo a alimentação de equipamentos. IV. Os dispositivos de manobra são aqueles que permitem a interrupção da transmissão da corrente elétrica. Assinale a alternativa que apresenta somente as afirmativas corretas. A) Apenas a afirmativa I está correta. B) Apenas a afirmativa III está correta. C) Apenas as afirmativas II e III estão corretas. D) Apenas as afirmativas I, II e IV estão corretas. E) As afirmativas I, II, III e IV estão corretas. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em AutoCAD Civil 3D |
Survey Points e COGO Points Survey points não podem ser movidos ou editados sem acessar a base de dados do levantamento e sem usar comandos especializados para a edição de pontos de levantamento. A) Verdadeiro B) Falso Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Responsabilidade civil dos prepostos e preponentes É definido como a pessoa que responde pelos atos da atividade empresária e normalmente pode também ser identificado como o patrão, empregador ou dono do negócio. Assinale a alternativa que corresponde a esta definição. A) Preposto. B) Gerente. C) Preponente. D) Contabilista. E) Advogado. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Características do concreto armado A fissuração é um efeito importante nas estruturas de concreto e não deve ser desprezada. O conhecimento íntimo desse tipo de efeito é de vital importância para garantir a durabilidade e o desempenho das estruturas por longos anos. A seguir, correlacione os tipos de fissuração e as definições: 1 - Fissuras plásticas. 2 - Fissuras térmicas. 3 - Fissuras de retração por secagem. ( ) Desenvolvem-se por conta de tensões de tração devido à restrição interna causada por retração diferencial entre a superfície e o interior do concreto. ( ) Desenvolvem-se nas primeiras idades do concreto, após o endurecimento. ( ) Desenvolvem-se antes de o concreto estar endurecido, entre 1 e 8 horas após o lançamento. Agora, assinale a alternativa que traz a sequência correta: A) 1 - 2 - 3. B) 2 - 1 - 3. C) 3 - 1 - 2. D) 2 - 3 - 1. E) 3 - 2 - 1. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Características do concreto armado Sabe-se que o controle adequado da retração é fundamental no projeto e na construção de estruturas de concreto para evitar problemas como fissuração e para garantir a integridade da estrutura ao longo do tempo. Marque a alternativa correta a respeito desse fenômeno. A) A retração química pode levar à formação de produtos de hidratação que ocupam mais espaço do que os materiais originais. B) A retração plástica ocorre após o endurecimento do concreto e está relacionada à perda contínua de umidade. C) A retração por secagem ocorre durante o estado fresco do concreto, enquanto ele ainda está sendo moldado e antes de começar a endurecer. D) A retração térmica ocorre devido a reações químicas dentro do concreto, causando expansão especialmente em estruturas expostas a condições ambientais extremas. E) A retração por secagem é comum em superfícies de concreto expostas ao Sol ou ao vento durante a fase de cura, ou seja, no seu processo de endurecimento. Verificar Resposta Estudar Cards Todas as Questões |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software 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 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 |