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

دروس أساسية بلغة C

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

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

الصفوف في لغة C

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

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

مباني لغة C

ملفات لغة C

آخر

دليل مرجع C

برنامج C يعرض جميع الأعداد الأولية بين الرقمين

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

في هذا المثال، ستتعلم كيفية طباعة جميع الأعداد الأولية بين الرقمين المقدرين من قبل المستخدم.

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

عرض الأعداد الأولية بين فاصلين

#include <stdio.h>
int main() {
   int low, high, i, flag;
   printf("أدخل رقمين (مفصولين):");
   scanf("%d %d", &low, &high);
   printf("%d و%d بينهما العدد الأولي:", low, high);
   //الاستمرار حتى low لا يُساوي high
   while (low < high) {
      flag = 0;
      //تجاهل الأرقام الصغيرة عن 2
      إذا (low <= 1) {
         ++low;
         استمرار;
      }
      //إذا كان low ليس عددًا أوليًا، فإن flag يساوي 1
      لـ (i = 2; i <= low / 2; ++i) {
         إذا (low %% i == 0) {
            flag = 1;
            break;
         }
      }
      إذا (flag == 0) {
          printf("%d ", low);
      }
         
      ++low;
   }
   return 0;
}

النتيجة

أدخل رقمين (مفصولين): 20 
50
الأعداد الأولية بين 20 و50 هي: 23 29 31 37 41 43 47

في هذا البرنامج، يتم تكرار حلقة while (high - low - 1) مرة.

في كل تكرار، تحقق مما إذا كان low هو عدد أولي، وزيد قيمة low 1 حتى يصبح low يساوي high.

زيارة هذه الصفحة للحصول على معلومات حول كيفيةتحقق مما إذا كان الرقم صحيحًاالمزيد من المعلومات.

إذا أدخل المستخدم الرقم الأكبر أولاً، لن يعمل البرنامج المذكور أعلاه بشكل صحيح. يمكنكتبادل الأرقاملحل هذه المشكلة.

إذا كان الرقم الأكبر يدخل أولاً، اعرض الأعداد الأولية

#include <stdio.h>
int main() {
   int low, high, i, flag, temp;
   printf("أدخل رقمين (مفصولين):");
   scanf("%d %d", &low, &high);
   //إذا كان low أكبر من high، استبدل الأرقام
   إذا (low > high) {
      temp = low;
      low = high;
      high = temp;
   }
   printf("%d و%d بينهما العدد الأولي:", low, high);
   while (low < high) {
      flag = 0;
      //تجاهل الأرقام الصغيرة عن 2
      إذا (low <= 1) {
         ++low;
         استمرار;
      }
      لـ (i = 2; i <= low / 2; ++i) {
         إذا (low %% i == 0) {
            flag = 1;
            break;
         }
      }
      if (flag == 0)
         printf("%d ", low);
      ++low;
   }
   return 0;
}

زيارة هذه الصفحة لمعرفة كيفيةمن خلال إنشاء وظائف مخصصة للمستخدمهياإظهار جميع الأعداد الأولية بين فترتين من الوقت

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