Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Como retornar o resto da divisão entre dois números inteiros sem usar o operador de módulo - Exercícios Resolvidos de CQuantidade de visualizações: 614 vezes |
Pergunta/Tarefa: Sempre que o assunto é calcular o resto da divisão entre dois números inteiros em C, a primeira coisa que vem à nossa mente é usar o operador de módulo (%). Mas você sabia que é possível efetuar essa tarefa sem usar este operador? Vamos ao desafio então. Escreva um programa C que pede para o usuário informar dois números inteiros e mostre o resto da divisão entre os dois sem usar o operador de módulo. Seu código não poderá usar funções matemáticas prontas, apenas os demais operadores aritméticos fornecidos pela linguagem C. Sua saída deverá ser parecida com: Primeiro número inteiro: 11 Segundo número inteiro: 7 O resto da divisão é: 4 Primeiro número inteiro: 9 Segundo número inteiro: 2 O resto da divisão é: 1 Primeiro número inteiro: 13 Segundo número inteiro: 5 O resto da divisão é: 3 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> // função principal do programa int main(int argc, char *argv[]){ // variáveis usadas para resolver o problema int a, b, resto; // vamos ler os dois números inteiros printf("Primeiro número inteiro: "); scanf("%d", &a); printf("Segundo número inteiro: "); scanf("%d", &b); // agora vamos calcular o resto da divisão resto = a - ((a / b) * b); // e mostramos o resultado printf("O resto da divisão é: %d", resto); printf("\n\n"); system("PAUSE"); return 0; } |
![]() |
C ::: Dicas & Truques ::: Arquivos e Diretórios |
Como testar se um arquivo existe usando a linguagem CQuantidade de visualizações: 14199 vezes |
Muitas vezes precisamos saber se um determinado arquivo existe antes de efetuarmos alguma operação. O trecho de código abaixo mostra como você pode implementar uma função file_exists() em C que pode ser usada em seus programas. O segredo aqui é tentar abrir o arquivo passado como argumento para a função. Se o arquivo for aberto com sucesso, sabemos que ele existe e a função retorna o valor 1 (true), do contrário retorna 0 (false):---------------------------------------------------------------------- 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> /* Implementação de uma função file_exists() em C. Se o arquivo existir o valor 1 (true) será retornado. Caso contrário a função retornará 0 (false). */ int file_exists(const char *filename) { FILE *arquivo; if(arquivo = fopen(filename, "r")) { fclose(arquivo); return 1; } return 0; } int main(int argc, char *argv[]) { // testa se o arquivo existe if(file_exists("c:\\testes.txt")){ printf("O arquivo existe no local especificado.\n"); } else printf("O arquivo NAO existe no local especificado.\n"); printf("\n\n"); system("PAUSE"); return 0; } |
C ::: Fundamentos da Linguagem ::: Métodos, Procedimentos e Funções |
Como usar protótipos de função em CQuantidade de visualizações: 12141 vezes |
Um protótipo de função é uma declaração que define o nome, tipos de parâmetros e tipos de retorno de uma função. Em geral o protótipo de uma função é exigido quando a definição da função não é feita antes do código que efetua uma chamada a ela. 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> // uma função que retorna a soma de dois inteiros // fornecidos como argumento int somar(int a, int b){ return (a + b); } int main(int argc, char *argv[]){ // efetua uma chamada à função somar int res = somar(3, 5); // exibe o resultado printf("Soma: %d", res); puts("\n\n"); system("PAUSE"); return 0; } Este código compila e executa normalmente, uma vez que a função somar() foi definida antes da função main(), ou seja, antes da parte do programa que possui uma chamada a ela. Veja agora esta nova versão: ---------------------------------------------------------------------- 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[]){ // efetua uma chamada à função somar int res = somar(3, 5); // exibe o resultado printf("Soma: %d", res); puts("\n\n"); system("PAUSE"); return 0; } // uma função que retorna a soma de dois inteiros // fornecidos como argumento int somar(int a, int b){ return (a + b); } Aqui temos um problema: a função somar() é definida depois do código contendo uma chamada a ela. No Dev-C++ temos o seguinte erro de compilação: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- `somar` undeclared (first use this function) A solução para este casos é a criação do protótipo da função. Para a função somar() isso pode ser feito da seguinte forma: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // protótipo da função somar() int somar(int, int); Note que não há a necessidade de especificar os nomes dos parâmetros da função, apenas seus tipos. Veja ainda que o protótipo da função é terminado com ponto-e-vírgula e sempre colocado após as instruções de #include. Veja o código completo para um exemplo usando protótipos de funções: ---------------------------------------------------------------------- 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> // protótipo da função somar() int somar(int, int); int main(int argc, char *argv[]){ // efetua uma chamada à função somar int res = somar(3, 5); // exibe o resultado printf("Soma: %d", res); puts("\n\n"); system("PAUSE"); return 0; } // uma função que retorna a soma de dois inteiros // fornecidos como argumento int somar(int a, int b){ return (a + b); } |
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 um vetor e exibir a soma de seus valoresQuantidade de visualizações: 14293 vezes |
Exercícios Resolvidos de C - Usando um laço for para percorrer os elementos de um vetor e exibir a soma de seus valores Pergunta/Tarefa: Considere o seguinte vetor de inteiros: // um vetor de inteiros contendo sete elementos int valores[] = {4, 5, 1, 8, 2, 2, 10}; A soma dos valores do vetor é: 32 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[]) { // um vetor de inteiros contendo sete elementos int valores[] = {4, 5, 1, 8, 2, 2, 10}; // o primeiro passo é criar uma variável que vai receber a soma // dos valores dos elementos int soma = 0; int i; // agora vamos usar uma laço for para percorrer todos os elementos // do vetor, obter o valor do elemento atual e adicionar ao valor atual // da variável soma for(i = 0; i < 7; i++){ soma = soma + valores[i]; // poderia também ser escrito assim: // soma += valores[i]; } // vamos exibir a soma dos valores do vetor printf("A soma dos valores do vetor é: %d\n", soma); system("PAUSE"); return 0; } |
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 |
![]() 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 |