C 語言基礎(chǔ)教程

C 語言流程控制

C 語言函數(shù)

C 語言數(shù)組

C 語言指針

C 語言字符串

C 語言結(jié)構(gòu)體

C 語言文件

C 其他

C 語言參考手冊

C程序檢查阿姆斯特朗數(shù)

C 語言編程實(shí)例大全

在此示例中,您將學(xué)習(xí)檢查用戶輸入的整數(shù)是否是Armstrong數(shù)字。

要理解此示例,您應(yīng)該了解以下C語言編程主題:

如果滿足以下條件,則一個(gè)正整數(shù)稱為阿姆斯特朗數(shù)(n階),如果

abcd... = an + bn + cn + dn +

對于3位的阿姆斯特朗數(shù),每個(gè)數(shù)字的立方數(shù)之和等于數(shù)字本身。 例如,153是Armstrong的數(shù)字,因?yàn)?/p>

153 = 1*1*1 + 5*5*5 + 3*3*3

檢查三位的阿姆斯特朗數(shù)

#include <stdio.h>
int main() {
    int num, originalNum, remainder, result = 0;
    printf("輸入一個(gè)三位數(shù)的整數(shù): ");
    scanf("%d", &num);
    originalNum = num;

    while (originalNum != 0) {
       // 余數(shù)
        remainder = originalNum % 10;
        
       result += remainder * remainder * remainder;
        
       //從原始數(shù)字中去除最后一位數(shù)
       originalNum /= 10;
    }

    if (result == num)
        printf("%d 是一個(gè)阿姆斯特朗數(shù)。", num);
    else
        printf("%d 不是一個(gè)阿姆斯特朗數(shù)。", num);

    return 0;
}

輸出結(jié)果

輸入一個(gè)三位數(shù)的整數(shù): 371
371 是一個(gè)阿姆斯特朗數(shù)。

檢查n位的阿姆斯特朗數(shù)

#include <math.h>
#include <stdio.h>

int main() {
   int num, originalNum, remainder, n = 0;
   float result = 0.0;

   printf("輸入一個(gè)整數(shù): ");
   scanf("%d", &num);

   originalNum = num;

   //將num的位數(shù)存儲在n中
   for (originalNum = num; originalNum != 0; ++n) {
       originalNum /= 10;
   }

   for (originalNum = num; originalNum != 0; originalNum /= 10) {
       remainder = originalNum % 10;

      // 存儲結(jié)果中每個(gè)數(shù)字的冪的和
      result += pow(remainder, n);
   }

   // 如果num等于result,則該數(shù)字為阿姆斯壯數(shù)字
   if ((int)result == num)
    printf("%d 是一個(gè)阿姆斯特朗數(shù)。", num);
   else
    printf("%d 不是一個(gè)阿姆斯特朗數(shù)。", num);
   return 0;
}

輸出結(jié)果

輸入一個(gè)整數(shù): 1634
1634 是一個(gè)阿姆斯特朗數(shù)。

在此程序中,首先計(jì)算一個(gè)整數(shù)的位數(shù),并將其存儲在n中。 并且,pow()函數(shù)用于計(jì)算第二個(gè)for循環(huán)的每次迭代中各個(gè)數(shù)字的冪。

C 語言編程實(shí)例大全

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清