برنامه تشخیص زوج یا فرد بودن عدد در زبان C

  • آخرین بروزرسانی در چهارشنبه 01 آوریل 2020

    Average rating 5 / 5. Vote count: 1

در این مثال تمرینی کد برنامه ای به زبان C را خواهید دید که هدف آن تشخیص زوج یا فرد بودن یک عدد است.

برای درک بهتر این مثال تمرینی بهتر است با مفاهیم زیر از قبل آشنا باشید.

منطق ریاضی تشخیص زوج یا فرد بودن عدد

عدد زوج، عددی صحیح است که دقیقا بر 2 بخش پذیر باشد. برای مثال، 0، 8 یا 24- اعداد زوج هستند.


عدد فرد، عددی صحیح است که دقیقا بر 2 بخش پذیر نباشد. برای مثال، 1، 7 یا 11- اعداد زوج هستند.


معنی بخش پذیر بودن بر 2 هم به این معناست که اگر عدد داده شده را بر 2 تقسیم کنیم هیچ باقی مانده ای نداشته باشد که دقیقا از همین موضوع در نوشتن منطق برنامه خود استفاده می کنیم.

برنامه تشخیص زوج یا فرد بودن عدد

#include <stdio.h>
int main() {
    int num;
    printf("Enter an integer: ");
    scanf("%d", &num);

    // True if num is perfectly divisible by 2
    if(num % 2 == 0)
        printf("%d is even.", num);
    else
        printf("%d is odd.", num);
    
    return 0;
}

خروجی :

Enter an integer: -7
-7 is odd.

در این برنامه، عدد صحیحی (Integer) که توسط کاربر وارد می شود در متغیری به نام num ذخیره می شود.

سپس، این که آیا num به طور کامل بر 2 قابل تقسیم است یا خیر (یعنی باقی مانده تقسیم 0 می شود یا خیر) توسط اپراتور % بررسی می شود.

اگر عدد به طور کامل بر 2 بخش پذیر باشد، حاصل عبارت num%2 == 0 برابر 1 یا true می شود و این یعنی عدد زوج است.

اگر هم حاصل عبارت 0 یا false شود، یعنی عدد فرد است.

همین برنامه را با استفاده از اپراتور شرطی چند بخشی هم می توان به طور کوتاه تر نوشت.

کوتاه تر با استفاده از اپراتور شرطی چند بخشی

همانطور که گفتیم منطق مورد استفاده در برنامه تشخیص زوج یا فرد بودن عدد در C عبارت شرطی هست که حالت اول را تا به اینجای کار دیدید. اما عبارت شرطی رو به شکل دیگری نیز می توان نوشت.

#include <stdio.h>
int main() {
    int num;
    printf("Enter an integer: ");
    scanf("%d", &num);
    
    (num % 2 == 0) ? printf("%d is even.", num) : printf("%d is odd.", num);
    return 0;
}

خروجی :

Enter an integer: 33 33 is odd.

در برنامه بالا، از اپراتور چند بخشی ?: به جای عبارت شرطی if...else استفاده کردیم.

در زبان ++C

همین تمرین را با توجه به این که زبان های C و ++C مشابهت های زیادی با یکدیگر دارند، در این زبان هم می بینید.

#include <iostream>
using namespace std;

int main()
{
    int n;

    cout << "Enter an integer: ";
    cin >> n;

    if ( n % 2 == 0)
        cout << n << " is even.";
    else
        cout << n << " is odd.";

    return 0;
}

خروجی:

Enter an integer: 23
23 is odd.

کوتاه تر با استفاده از اپراتور شرطی چند بخشی

#include <iostream>
using namespace std;

int main()
{
    int n;

    cout << "Enter an integer: ";
    cin >> n;
    
    (n % 2 == 0) ? cout << n << " is even." :  cout << n << " is odd.";
    
    return 0;
}
برای دنبال کردن نوشته های کاپ کد به کانال تلگرامی آن (cupcode_ir@) بپیوندید!

دیدگاه خود را بیان کنید

@