7.1
연습문제
1. double, double a, double b
------------------------------------------------------------------------------------------
2. 함수선언 - 함수 원형을 컴파일러에 알린다.
함수정의 - 함수 원형을 설계하고 내용을 구현한다.
한수호출 - 함수에 필요한 값을 주고 함수를 사용한다.
------------------------------------------------------------------------------------------
3. #include <stdio.h>
double centi_to_meter(int centi);
void main()
{
int centi = 185;
double meter;
meter = centi_to_meter(centi);
printf("%.2fm\n", meter);
}
double centi_to_meter(int centi)
{
double meter = centi / 100.0;
return meter;
}
------------------------------------------------------------------------------------------
4.
#include <stdio.h>
int my_power(int a, int b);
void main()
{
int result;
result = my_power(2, 10);
printf("%d\n", result);
}
int my_power(int a, int b)
{
int result = 1;
for (int i = 0; i < b; i++)
{
result = result * a;
}
return result;
}
------------------------------------------------------------------------------------------
5.
#include <stdio.h>
int prime_check(int a);
void main()
{
int num = 32767;
int result;
result = prime_check(num);
if (result == 0)
printf("소수가 아닙니다.");
else
printf("소수 입니다.");
}
int prime_check(int a)
{
for (int i = 2; i < a; i++)
{
if (a % i == 0)
return 0;
}
return 1;
}
------------------------------------------------------------------------------------------
7.2
연습문제
1. 4
------------------------------------------------------------------------------------------
2. 234
------------------------------------------------------------------------------------------
3.
#include <stdio.h>
void sum(int num);
int main(void)
{
sum(10);
sum(100);
return 0;
}
void sum(int num)
{
int result = 0;
for (int i = 1; i <= num; i++)
{
result = result + i;
}
printf("1부터 %d까지의 합은 %d입니다.\n", num, result);
}
------------------------------------------------------------------------------------------
4.
#include <stdio.h>
int disp_menu(void);
int main(void)
{
int sel;
sel = disp_menu();
printf("선택된 메뉴는 %d번 입니다.\n", sel);
return 0;
}
int disp_menu(void)
{
int num;
printf("1. 볶음짬뽕\n2. 콩나물국밥\n3. 바지락칼국수\n\n\n");
printf("메뉴를 선택하세요 : ");
scanf("%d",&num );
return num;
}
------------------------------------------------------------------------------------------
5. 9
------------------------------------------------------------------------------------------
도전 실전 예제
1.
#include <stdio.h>
int total(int kor, int eng, int mat);
double average(int tot);
void print_title(void);
void main()
{
int kor, eng, mat;
int hap;
double avg;
printf("# 세 과목의 점수 입력 : ");
scanf("%d %d %d", &kor, &eng, &mat);
hap = total(kor, eng, mat);
avg = average(hap);
print_title();
printf(" %d %d %d %d %.1f\n",kor, eng, mat, hap, avg);
}
int total(int kor, int eng, int mat)
{
int hap = kor + eng + mat;
return hap;
}
double average(int hap)
{
double avg = hap / 3.0;
return avg;
}
void print_title(void)
{
printf("\n\n = = = = =< 성적표 >= = = = =\n\n\n");
printf(" -----------------------------------\n");
printf(" 국어 영어 수학 총점 평균\n");
printf(" -----------------------------------\n");
}
------------------------------------------------------------------------------------------
2.
#include <stdio.h>
int rec_func(int n);
void main()
{
int n = 10;
printf("%d\n", rec_func(n));
}
int rec_func(int n)
{
int result = 0;
int hap = 0, hap2 = 0;
if (n == 0)
return 0;
else if (n == -1)
return 0;
hap = n + (n - 1);
hap2 = rec_func(n - 2);
result = hap + hap2;
return result;
}
------------------------------------------------------------------------------------------
3.
#include <stdio.h>
int prime_check(int n);
void main()
{
int num, cnt = 0;
printf("# 양수 입력 : ");
scanf("%d", &num);
for (int i = 2; i <= num; i++)
{
if (prime_check(i) == 1)
{
printf("%d ", i);
cnt++;
if (cnt == 5)
{
printf("\n");
cnt = 0;
}
}
}
}
int prime_check(int n)
{
for (int i = 2; i < n; i++)
{
if (n%i == 0)
{
return 0;
}
}
return 1;
}