﻿ Exercise 11 - Learning C Sufferingly
C language learned by suffering

### Exercise 11

##### fundamental knowledge

Q1-1
What do you call declaring a function form at the beginning of a program?

Q 1-2
What do you call a variable that you declare to pass a number to a function?

Q1-3
What do we call a number or variable that is passed to a function?

Q1-4
What do we call the number returned from a function?

In the following program, what is the function tri for?
Answer judging from the processing details and variable names.

Q2-1
`````` #include <stdio.h>

int tri(int, int);

int main(void)
{
int side, high, square;

scanf("%d,%d", &side, &high);
printf("%d\n", tri(side, high));

return 0;
}

int tri(int side, int high)
{
return side * high / 2;
}``````

##### program writing

Q3-1
Create a program that displays whether or not the Olympics will be held when the year of the year is entered.
However, the part that calculates the Olympic Games should be created as a separate function.

The summer games will be held in the year 2000, and every two years thereafter, in the order of winter->summer->winter->summer.
Also, this schedule is assumed to be eternally consistent.

##### descriptive expression

Q4-1
Briefly explain what is the purpose of creating the function.

##### Basic Knowledge (sample answers)

Solution 1-1
prototype declaration

Solution 1-2
dummy argument

Solution 1-3
actual argument

Solution 1-4
return value

##### Program reading (example solution)

Solution 2-1
Function to calculate the area of a triangle

##### Program writing (example of solution)

Solution 3-1
`````` #include <stdio.h>

int olympic(int year);

int main(void)
{
int year, hold;

scanf("%d", &year);
hold = olympic(year);

switch (hold) {
case 0:
printf("not opened\n");
break;
case 1:
printf("Summer Olympics\n");
break;
case 2:
printf("Winter Olympics\n");
break;
};

return 0;
}

int olympic(int year)
{
if (year % 2 == 0) {
if (year % 4 == 0) {
return 1;
} else {
return 2;
}
} else {
return 0;
}
}``````

The return value of the *olympic function is mapped to the holding.
*Note that it is easy to forget the prototype declaration.