English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل تعليمي أساسي بلغة C

تحكم في العملية في لغة C

الوظائف في لغة C

المسافات في لغة C

المراجع في لغة C

الروابط في لغة C

مباني لغة C

ملفات لغة C

C أخرى

دليل مرجع C

برنامج C، يستخدم دوال مخصصة للمستخدم لتحقق من عدد أولي أو عدد أرستيد

مجموعة شاملة من أمثلة البرمجة في C

في هذا المثال، ستتعلم كيفية التحقق من عدد كامل هو عدد أولي أم هو عدد أرستيد من خلال إنشاء دالتين منفصلتينأرستيدرقم)، أو كلاهما.

لفهم هذا المثال، يجب أن تكون على علم بما يليبرمجة Cالموضوع:

في هذا البرنامج، يتم إنشاء دالتين مخصصة للمستخدم checkPrimeNumber() و checkArmstrongNumber().

إذا كان الرقم الذي أدخلته المستخدم هو عدد أولي، فإن دالة checkPrimeNumber() تعود 1. وبالمثل، إذا كان الرقم الذي أدخلته المستخدم هو عدد أرستيد، فإن دالة checkArmstrongNumber() تعود 1 أيضًا.

زيارة هذه الصفحات لمعرفة ما إذا كان هناك عدد

مثال: التحقق من Prime و Armstrong

#include <math.h>
#include <stdio.h>
int checkPrimeNumber(int n);
int checkArmstrongNumber(int n);
int main() {
   int n, flag;
   printf("أدخل عدد صحيح: ");
   scanf("%d", &n);
   // التحقق من عدد أولي
   flag = checkPrimeNumber(n);
   if (flag == 1)
      printf("%d هو عدد أولي.\n", n);
   else
      printf("%d ليس عدد أولي.\n", n);
   // التحقق من عدد Armstrong
   flag = checkArmstrongNumber(n);
   if (flag == 1)
      printf("%d هو عدد Armstrong.", n);
   else
      printf("%d ليس عدد Armstrong.", n);
   return 0;
}
// وظيفة التحقق من عدد أولي
int checkPrimeNumber(int n) {
   int i, flag = 1, squareRoot;
   // حساب الجذر التربيعي
   squareRoot = sqrt(n);
   for (i = 2; i <= squareRoot; ++i) {
      // شرط غير عدد أولي
      if (n % i == 0) {
         flag = 0;
         break;
      }
   }
   return flag;
}
// للتحقق من وظيفة عدد Armstrong
int checkArmstrongNumber(int num) {
   int originalNum, remainder, n = 0, flag;
   double result = 0.0;
   // حفظ عدد الأرقام في num في n
   for (originalNum = num; originalNum != 0; ++n) {
      originalNum /= 10;
   }
   for (originalNum = num; originalNum != 0; originalNum /= 10) {
      remainder = originalNum % 10;
      // حفظ مجموع قيم الأصمات من الناتج
      result += pow(remainder, n);
   }
   // شرط عدد أرستيد
   if (round(result) == num)
      flag = 1;
   else
      flag = 0;
   return flag;
}

نتيجة الخروج

أدخل عدد صحيح إيجابي: 407
407 ليس عدد أولي.
407 هو عدد أرستيد.

مجموعة شاملة من أمثلة البرمجة في C