English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
大全 de exemplos de programação do C
Neste exemplo, você aprenderá a verificar se um número inteiro introduzido pelo usuário é um número Armstrong.
Para entender esse exemplo, você deve saber o seguinteProgramação CTema:
Se um número inteiro positivo satisfizer as seguintes condições, ele é chamado de número Armstrong (de n grau), se
abcd... = an + bn + cn + dn +
Para3dígitos Armstrong, a soma dos cubos de cada dígito é igual ao próprio número. Por exemplo,153É um número Armstrong porque
153 = 1*1*1 + 5*5*5 + 3*3*3
#include <stdio.h> int main() { int num, originalNum, remainder, result = 0; printf("Digite um inteiro de três dígitos: "); scanf("%d", &num); originalNum = num; while (originalNum != 0) { // Resto remainder = originalNum % 10; result += remainder * remainder * remainder; //Remova o último dígito do número original originalNum /= 10; } if (result == num) printf("%d é um número Armstrong.", num); else printf("%d não é um número Armstrong.", num); return 0; }
Resultado de saída
Digite um inteiro de três dígitos: 371 371 É um número de Armstrong.
#include <math.h> #include <stdio.h> int main() { int num, originalNum, remainder, n = 0; float result = 0.0; printf("Digite um inteiro: "); scanf("%d", &num); originalNum = num; //Armazena o número de dígitos de num em n for (originalNum = num; originalNum != 0; ++n) { originalNum /= 10; } for (originalNum = num; originalNum != 0; originalNum /= 10) { remainder = originalNum % 10; // armazena a soma dos potências de cada dígito do resultado result += pow(remainder, n); } // Se num for igual a result, então esse número é um número Armstrong if ((int)result == num) printf("%d é um número Armstrong.", num); else printf("%d não é um número Armstrong.", num); return 0; }
Resultado de saída
Insira um inteiro: 1634 1634 É um número de Armstrong.
Neste programa, primeiramente, calcula o número de dígitos de um inteiro e armazena em n. E a função pow() é usada para calcular a potência de cada dígito na cada iteração do segundo loop for.