C 語言基礎(chǔ)教程

C 語言流程控制

C 語言函數(shù)

C 語言數(shù)組

C 語言指針

C 語言字符串

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

C 語言文件

C 其他

C 語言參考手冊

C程序,使用用戶定義的函數(shù)檢查質(zhì)數(shù)或阿姆斯朗數(shù)

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

在此示例中,您將學(xué)習(xí)通過創(chuàng)建兩個單獨(dú)的函數(shù)來檢查整數(shù)是質(zhì)數(shù)還是Armstrong(阿姆斯特朗數(shù)),還是兩者都是。

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

在這個程序中,創(chuàng)建兩個用戶定義的函數(shù)checkPrimeNumber()和checkArmstrongNumber()。

如果用戶輸入的數(shù)字是質(zhì)數(shù),則checkPrimeNumber()函數(shù)返回1。同樣,如果用戶輸入的數(shù)字是阿姆斯特朗數(shù)字,checkArmstrongNumber()函數(shù)也會返回1。

訪問這些頁面以了解是否有數(shù)字

示例:檢查Prime和Armstrong

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

int checkPrimeNumber(int n);
int checkArmstrongNumber(int n);

int main() {
   int n, flag;
   printf("輸入一個正整數(shù): ");
   scanf("%d", &n);

   //檢查質(zhì)數(shù)
   flag = checkPrimeNumber(n);
   if (flag == 1)
      printf("%d 是質(zhì)數(shù)。\n", n);
   else
      printf("%d 不是質(zhì)數(shù)。\n", n);

   //檢查阿姆斯特朗數(shù)
   flag = checkArmstrongNumber(n);
   if (flag == 1)
      printf("%d 是阿姆斯特朗數(shù)。", n);
   else
      printf("%d 不是阿姆斯特朗數(shù)。", n);
   return 0;
}

// 檢查質(zhì)數(shù)的函數(shù)
int checkPrimeNumber(int n) {
   int i, flag = 1, squareRoot;

   //計算平方根
   squareRoot = sqrt(n);
   for (i = 2; i <= squareRoot; ++i) {
      //非質(zhì)數(shù)的條件
      if (n % i == 0) {
         flag = 0;
         break;
      }
   }
   return flag;
}

// 來檢查阿姆斯壯數(shù)函數(shù)
int checkArmstrongNumber(int num) {
   int originalNum, remainder, n = 0, flag;
   double result = 0.0;

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

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

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

   //阿姆斯特朗數(shù)條件
   if (round(result) == num)
      flag = 1;
   else
      flag = 0;
   return flag;
}

輸出結(jié)果

輸入一個正整數(shù): 407
407 不是質(zhì)數(shù)。
407 是阿姆斯特朗數(shù)。

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

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