Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Um programa C que recebe o ano de nascimento de uma pessoa e o ano atual e mostra a idade da pessoa em anos, meses, dias e semanas - Desafio de Programação Resolvido em CQuantidade de visualizações: 1379 vezes |
Pergunta/Tarefa: Escreva um programa C que recebe o ano de nascimento de uma pessoa e o ano atual, calcule e mostre: a) A idade da pessoa em anos; b) A idade da pessoa em meses; c) A idade da pessoa em dias; d) A idade da pessoa em semanas. Sua saída deverá ser parecida com: Informe o ano de seu nascimento: 1985 Informe o ano atual: 2023 A idade em anos é: 38 A idade em meses é: 456 A idade em dias é: 13680 A idade em semanas é: 1976 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> // função principal do programa int main(int argc, char *argv[]){ // variáveis usadas na resolução do problema int ano_nascimento, ano_atual, idade_anos, idade_meses; int idade_dias, idade_semanas; // vamos ler o ano de nascimento printf("Informe o ano de seu nascimento: "); scanf("%d", &ano_nascimento); printf("Informe o ano atual: "); scanf("%d", &ano_atual); // calcula a idade em anos idade_anos = ano_atual - ano_nascimento; printf("\nA idade em anos é: %d", idade_anos); // calcula a idade em meses idade_meses = idade_anos * 12; printf("\nA idade em meses é: %d", idade_meses); // calcula a idade em dias idade_dias = idade_anos * 12 * 30; printf("\nA idade em dias é: %d", idade_dias); // calcula a idade em semanas idade_semanas = idade_anos * 52; printf("\nA idade em semanas é: %d", idade_semanas); printf("\n\n"); system("PAUSE"); return 0; } |
![]() |
C ::: C para Engenharia ::: Física - Mecânica |
Como calcular a velocidade da queda livre de um corpo dado o intervalo de tempo (e a aceleração da gravidade) em CQuantidade de visualizações: 2408 vezes |
A Queda Livre é um Movimento Uniformemente Variado, na qual um objeto em queda livre tem a sua velocidade aumentada a taxas constantes. Abandonado em alturas próximas da terra, a velocidade com que um corpo cai aumenta a uma taxa de aproximadamente 9,8m/s. Isso é o mesmo que dizer que a aceleração da gravidade terrestre é de 9,8m/s2, o que aumenta a velocidade do objeto em 35,28km/h a cada segundo. Assim, a fórmula da velocidade de um objeto em queda livre é: \[ \text{v} = \text{g} \cdot \text{t} \] Onde: v ? velocidade de queda (m/s) g ? aceleração da gravidade (m/s2) t ? intervalo de tempo (s) Vamos ver um exemplo? Veja o seguinte enunciado: 1) Um corpo é abandonado a uma altura qualquer no tempo 0s e está em queda livre. Calcule a sua velocidade no tempo 15s. Como sabemos que o intervalo de tempo é 15s, só precisamos jogar na fórmula. Veja o código C completo para o cálculo: ---------------------------------------------------------------------- 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[]){ // gravidade terrestre em m/s2 float gravidade = 9.80665; // intervalo de tempo da queda livre (em segundos) float tempo = 15.00; // em segundos // velocidade da queda nesse intervalo float velocidade = gravidade * tempo; // mostramos o resultado printf("A velocidade da queda livre é: %fm/s", velocidade); printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: A velocidade da queda livre é: 147.099747m/s Se quisermos saber a velocidade em km/h, basta multiplicar o resultado por 3.6, o que dará 529.56km/h. Vamos tornar o experimento mais interessante? Veja uma modificação no código C que mostra a velocidade da queda nos 10 primeiros segundos, de forma individual: ---------------------------------------------------------------------- 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; // variável de controle do laço // gravidade terrestre em m/s2 float gravidade = 9.80665; // intervalo de tempo da queda livre (em segundos) int tempo; // velocidade da queda nesse intervalo float velocidade; // um laço for que repete 10 vezes for(i = 1; i <= 10; i++){ tempo = i; // inicialmente será um segundo velocidade = gravidade * tempo; printf("A velocidade no tempo %d: %fm/s\n", tempo, velocidade); } printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: A velocidade no tempo 1: 9.806650m/s A velocidade no tempo 2: 19.613300m/s A velocidade no tempo 3: 29.419950m/s A velocidade no tempo 4: 39.226601m/s A velocidade no tempo 5: 49.033249m/s A velocidade no tempo 6: 58.839901m/s A velocidade no tempo 7: 68.646553m/s A velocidade no tempo 8: 78.453201m/s A velocidade no tempo 9: 88.259850m/s A velocidade no tempo 10: 98.066498m/s |
C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Exercícios Resolvidos de C - Ler um número de três dígitos, separá-lo e invertê-lo, escrevendo o número lido e sua forma inversaQuantidade de visualizações: 1277 vezes |
Algorítmo Resolvido de C - Ler um número de três dígitos, separá-lo e invertê-lo, escrevendo o número lido e sua forma inversa Pergunta/Tarefa: Escreva um programa C que leia um número de 3 dígitos e o inverta, escrevendo o número lido e o invertido. Por exemplo, se o usuário informar o valor 753, seu programa deverá invertê-lo, resultando em 357. Seu programa deverá exibir a seguinte saída: Observação: Seu código deverá usar apenas os operadores matemáticos disponíveis, por padrão, na linguagem C. Informe um valor inteiro de três dígitos: 753 O valor original é: 753 O valor invertido é: 357 Veja a resolução comentada deste exercício usando C console (modo texto): ---------------------------------------------------------------------- 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> int main(int argc, char *argv[]) { int numero, temp, inverso; setlocale(LC_ALL,""); // para acentos do português // vamos solicitar ao usuário que informe um valor inteiro // na faixa 100 a 999 (incluindo) printf("Informe um valor inteiro de três dígitos: "); // vamos ler o valor informado scanf("%d", &numero); // vamos verificar se o valor está na faixa permitida if(numero < 100 || numero > 999){ printf("Valor fora da faixa permitida"); } else{ // vamos criar uma variável temporária para // manter intacto o valor lido temp = numero; inverso = 0; // guardará o valor invertido // vamos inverter o valor agora while(temp != 0){ inverso = (inverso * 10) + (temp % 10); temp = temp / 10; } // vamos mostrar o resultado printf("O valor original é: %d\n", numero); printf("O valor invertido é: %d", inverso); } printf("\n\n"); system("pause"); return 0; } |
C ::: Dicas & Truques ::: Struct (Estruturas, Registros) |
Como escrever um função que retorna uma estrutura (struct) usando a linguagem CQuantidade de visualizações: 16172 vezes |
Muitas vezes precisamos escrever funções que retornam estruturas, ou melhor, que alocam e retornam ponteiros para estruturas. Esta não é, definitivamente, uma tarefa para iniciantes em C. Contudo, esta dica lhe fornecerá um código completo indicando-lhe uma das formas mais simples de conseguir tal proeza. Antes de executar o código, porém, dê uma olhada atenta na função obter_livro(). Veja que esta função recebe o título, o código e o número de páginas de um livro. Em seguida a função aloca memória para uma estrutura, preenche seus membros e retorna um ponteiro para tal estrutura. Eis a listagem completa: ---------------------------------------------------------------------- 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> // define a estrutura Livro struct Livro{ char *titulo; int codigo; int paginas; }; // função que aloca e retorna um ponteiro para uma // estrutura Livro struct Livro* obter_livro(char *titulo, int codigo, int paginas){ // aloca memória para uma estrutura Livro struct Livro *temp = (struct Livro*)malloc(sizeof(struct Livro)); // preeche os membros da estrutura temp->titulo = titulo; temp->codigo = codigo; temp->paginas = paginas; return temp; } int main(int argc, char *argv[]){ // obtém uma instância da estrutura Livro struct Livro *a = obter_livro("Programando em Java", 345, 120); // verifica se a estrutura foi retornada com // sucesso if(a != NULL){ printf("Titulo: %s\nCodigo: %d\nPaginas: %d\n", a->titulo, a->codigo, a->paginas); } // obtém uma segunda instância da estrutura Livro struct Livro *b = obter_livro("JavaScript - Guia", 540, 800); // verifica se a estrutura foi retornada com // sucesso if(b != NULL){ printf("Titulo: %s\nCodigo: %d\nPaginas: %d\n", b->titulo, b->codigo, b->paginas); } puts("\n\n"); system("PAUSE"); return 0; } Ao executar este código nós teremos o seguinte resultado: Titulo: Programando em Java Codigo: 345 Paginas: 120 Titulo: JavaScript - Guia Codigo: 540 Paginas: 800 Pressione qualquer tecla para continuar... |
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
Códigos Fonte |
![]() 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 |
![]() 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 |