שפת C/פונקציות/תרגילים

מציאת סימן מספר עריכה

כתוב פונקציה בשם sign המקבלת מספר נקודה צפה, ומחזירה את סימנו. כלומר

  1. אם המספר שלילי, היא תחזיר -1.
  2. אם המספר 0, היא תחזיר 0.
  3. אם המספר חיובי, היא תחזיר 1.


הפתרון
int sign(float num)
{
  if(num < 0)
     return -1;

  if(num == 0)
     return 0;

return 1;
}


מציאת זוגיות מספר עריכה

כתוב פונקציה even המקבלת מספר שלם, ומחזירה 0 אם הוא זוגי ו1 אחרת.

פתרון
int even(int num)
{
  return num % 2;
}


מציאת מקסימום של שני מספרים עריכה

כתבו פונקציה max המקבלת שני מספרים שלמים, ומחזירה את ערך הגדול מבין השניים.


פתרון
int max(int a, int b)
{
 if(a > b)
  return a;
 return b;
}


חישוב עצרת עריכה

כתוב פונקציה המקבלת מספר לא-שלילי שלם n, ומחשבת את n!, כלומר 1 * 2 * ... * n.


פתרון
unsigned long factorial(unsigned int n)
{
  unsigned long fact = 1;
  unsigned int i;

  for(i = 1; i <= n; ++i)
   fact *= i;

  return fact;
}