chapter2 프로그래밍 연습

milpy·2022년 3월 21일
0

C 기초 플러스 6판

목록 보기
1/18

01

첫번째 printf() 호출을 사용하여 성과 이름을 한 라인에 출력하고, 두번째 printf() 호출을 사용하여 성과 이름을 두 라인에 각각 나누어 출력하고, 이어서 printf()를 두 번 호출하여 성과 이름을 한 라인에 출력하는 프로그램을 작성하라. 출력은 다음과 같아야 한다(Anton Bruckner 대신에 독자의 이름을 사용하라).

예시

Gustav Mahler 	<- 첫번째 출력문
Gustav		  	<- 두번째 출력문
Mahler		  	<- 여전히 두번째 출력문
Gestav Mahler 	<- 세번쩨, 네번째 출력문

코드

#include <stdio.h>

int main(void)
{
	//첫번째 
	printf("Gustav Mahler\n");
	
	//두번째 
	printf("Gustav\n");
	printf("Mahler\n");
	
	//세번째, 네번째 
	printf("Gustav ");
	printf("Mahler\n");
	
	return 0; 
}

02

자신의 이름과 주소를 출력하는 프로그램을 작성하라

코드

#include <stdio.h>

int main(void)
{
	printf("이름 : milpy\n");
	printf("주소 : 전라북도 전주시 OO구 XX동 ㅁㅁ번지\n");
	
	return 0; 
}

03

햇수로 된 자신의 나이를 날짜로 환산하고, 두 값을 모두 출력하는 프로그램을 작성하라. 이때, 대월이 모자라는 해와 윤년을 무시하라.

코드

#include <stdio.h>

int main(void)
{
	int birthYear = 2000;
	int birthMonth = 8;
	int birthDate = 4;
	
	int nowYear = 2022;
	
	int total = 0;
	
	total = (nowYear - (birthYear+1)) * 365;
	total += ((12 - birthMonth) * 30);
	total += (30 - birthDate);
	
	printf("age : %2d / date : %d\n", nowYear - birthYear, total);
	
	return 0; 
}

04

다음과 같은 출력이 나오는 프로그램을 작성하라.

예시

For he's a jolly good fellow!
For he's a jolly good fellow!
For he's a jolly good fellow!
Which nobody can deny!

main() 함수 외에, 2개의 사용자 정의 함수를 작성해야 한다. "jolly good" 메시지를 한 번 출력하는 jolly()라는 함수와, 마지막 라인을 출력하는 deny()라는 함수를 작성해야 한다.

코드

#include <stdio.h>

void jolly(void)
{
	printf("jolly good");
}

void deny(void)
{
	printf("Which nobody can deny!\n");
}

int main(void)
{
	printf("For he's a "); jolly(); printf(" fellow!\n");
	printf("For he's a "); jolly(); printf(" fellow!\n");
	printf("For he's a "); jolly(); printf(" fellow!\n");
	deny();
	
	return 0; 
}

05

다음과 같은 출력이 나오는 프로그램을 작성하라.

예시

Brazil, Russia, India, China
India, China,
Brazil, Russia

main() 함수 외에, 2개의 사용자 정의 함수를 작성해야한다. "Brazil, Russia"를 한 번 출력하는 br()이라는 함수와, "India, China"를 한 번 출력하는 ic()라는 함수를 작성하라. 추가로 필요한 다른 것들은 main() 함수가 출력해야 한다.

코드

#include <stdio.h>

void br(void) 
{
	printf("Brazil, Russia");
}

void ic(void)
{
	printf("India, China");
}

int main(void)
{
	br(); printf(", "); ic(); printf("\n");
	ic(); printf(",\n");
	br();
	return 0; 
}

06

toes라는 정수형 변수를 사용하는 프로그램을 작성하라. 프로그램은 toes를 10으로 설정한다. 또한 toes의 2배는 얼마이고, toes의 제곱은 얼마인지 계산한다. 그리고 나서 세 값을 구분하여 출력한다.

코드

#include <stdio.h>

int main(void)
{
	int toes = 10;
	
	printf("toes : %d\n", toes);
	printf("toes * 2 : %d\n", toes * 2);
	printf("toes * toes : %d\n", toes * toes);
	
	return 0; 
}

07

"웃는 얼굴에 침 못뱉는다"는 속담이 있다. 다음과 같은 출력이 나오는 프로그램을 작성하라.

예시

Smile!Smile!Smile!
Smile!Smile!
Smile!

Smile!을 한 번만 출력하는 함수를 정의하고, 필요할 때마다 그 함수를 호출하여 사용해야 한다.

코드

#include <stdio.h>

void print_smile(void)
{
	printf("Smile!");
}

int main(void)
{
	print_smile(); print_smile(); print_smile(); printf("\n");
	print_smile(); print_smile(); printf("\n");
	print_smile(); printf("\n");
	return 0; 
}

08

C에서는 한 함수가 다른 함수를 호출할 수 있다. one_three()라는 이름의 함수를 호출하는 프로그램을 작성하라. 이 함수는 먼저 단어 one을 한 라인에 출력하고, 이어서 함수 two()를 호출하고, 마지막으로 단어 three를 한 라인에 출력한다. 함수 two()는 단어 two를 한 라인에 출력한다. main() 함수는 함수 one_three()를 호출하기 전에 starting now:를 출력하고, one_three()를 호출한 후에 done!을 출력한다. 프로그램의 출력이 다음과 같아야 한다.

예시

starting now:
one
two
three
done!

코드

#include <stdio.h>

void two(void)
{
	printf("two\n");
}

void one_three(void)
{
	printf("one\n");
	two();
	printf("three\n");
}

int main(void)
{
	printf("starting now:\n");
	one_three();
	printf("done!\n");
	
	return 0; 
}

1개의 댓글

comment-user-thumbnail
2022년 3월 23일

다음 챕터도 풀어주세요 현기증 나요 ㅠ

답글 달기