쉽게 풀어쓴 C언어 EXPRESS(개정 3판) - Chapter 6

          

      쉽게 풀어쓴 C언어 EXPRESS (개정 3판) - 천인국

Chapter 6. Programming


1.

#include <stdio.h>

int main()
{
char x;

printf("문자를 입력하시오:");
scanf("%c", &x);

switch (x)
{
case 'a':
printf("모음입니다.");
break;

case 'e':
printf("모음입니다.");
break;

case 'i':
printf("모음입니다.");
break;

case 'o':
printf("모음입니다.");
break;

case 'u':
printf("모음입니다.");
break;

default:
printf("자음입니다.");
break;
}
}

2.

#include <stdio.h>

int main()
{
int x, y;

printf("정수를 입력하시오:");
scanf("%d", &x);
printf("정수를 입력하시오:");
scanf("%d", &y);
if (x % y == 0)
printf("약수입니다.");
else
printf("약수가 아닙니다.");
return 0;
}

3.

#include <stdio.h>

int main()
{
int x, y, z;

printf("3개의 정수를 입력하시오:");
scanf("%d %d %d", &x, &y, &z);
if (x <= y) {
if (x <= z)
printf("제일 작은 정수는 %d입니다.", x);
else
printf("제일 작은 정수는 %d입니다.", z);
}
else {
if(y <= z)
printf("제일 작은 정수는 %d입니다.", y);
else
printf("제일 작은 정수는 %d입니다.", z);
}
return 0;
}

4.

version 1 - perfect random

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
int x, y;

printf("선택하시오(1:가위 2:바위 3:보)");
scanf("%d", &x);

srand(time(NULL));
y = rand() % 3 + 1;

if (x == 1) {
if (y == 3)
printf("사용자가 이겼음");
else if (y == 1)
printf("비겼음");
else
printf("컴퓨터가 이겼음");
}
else if (x == 2) {
if (y == 1)
printf("사용자가 이겼음");
else if (y == 2)
printf("비겼음");
else
printf("컴퓨터가 이겼음");
}
else if (x == 3) {
if (y == 2)
printf("사용자가 이겼음");
else if (y == 3)
printf("비겼음");
else
printf("컴퓨터가 이겼음");
}
return 0;
}

version 2 - imperfect random

#include <stdio.h>

int main()
{
int x, y;

printf("선택하시오(1:가위 2:바위 3:보)");
scanf("%d", &x);

y = rand() % 3 + 1;

if (x == 1) {
if (y == 3)
printf("사용자가 이겼음");
else if (y == 1)
printf("비겼음");
else
printf("컴퓨터가 이겼음");
}
else if (x == 2) {
if (y == 1)
printf("사용자가 이겼음");
else if (y == 2)
printf("비겼음");
else
printf("컴퓨터가 이겼음");
}
else if (x == 3) {
if (y == 2)
printf("사용자가 이겼음");
else if (y == 3)
printf("비겼음");
else
printf("컴퓨터가 이겼음");
}
return 0;
}

version 1의 random방식은 완전히 랜덤하게 진행되는 방식이지만 version 2의 random방식은 랜덤을 사용했음에도 특정 값만 반복되는 것을 알 수 있다. 이는 앞선 버전은 시간과 랜덤함수를 결합하여 현재 시간에 따라 랜덤값이 변화하도록 한 것이지만 뒷 버전은 단순한 이를 거치지 않아 일정 랜덤값이 있기 때문이다. 따라서 완전한 랜덤값을 위해서는 윗 버전을 사용해야 한다.
 
5.

#include <stdio.h>

int main()
{
int x, y;

printf("키를 입력하시오(cm): ");
scanf("%d", &x);
printf("나이를 입력하시오:");
scanf("%d", &y);

if (x >= 140) {
if (y >= 10)
printf("타도 좋습니다.");
else
printf("죄송합니다.");
}
else
printf("죄송합니다.");
return 0;
}

6.

#include <stdio.h>

int main()
{
int x;

printf("월번호를 입력하시오: ");
scanf("%d", &x);

switch (x)
{
case 1:
printf("Jan");
break;
case 2:
printf("Feb");
break;
case 3:
printf("Mar");
break;
case 4:
printf("Apr");
break;
case 5:
printf("May");
break;
case 6:
printf("June");
break;
case 7:
printf("Jul");
break;
case 8:
printf("Aug");
break;
case 9:
printf("Sep");
break;
case 10:
printf("Oct");
break;
case 11:
printf("Nov");
break;
case 12:
printf("Dec");
break;
}
}

7.

#include <stdio.h>

int main()
{
int x, y;
double z;

printf("키와 체중을 입력하시오:");
scanf("%d %d", &x, &y);

z = (x - 100) * 0.9;

if (y >= z)
printf("과체중입니다.");
else if (y == z)
printf("표준체중입니다.");
else
printf("저체중입니다.");
return 0;
}

8.

#include <stdio.h>

int main()
{
int x, y;
printf("현재 시간과 나이를 입력하시오(시간, 나이): ");
scanf("%d %d", &x, &y);

if (x <= 17) {
if ((3 <= y) && (y<= 12) || (y >= 65))
printf("요금은 25000입니다.");
else
printf("요금은 34000원 입니다.");
}
else
printf("요금은 10000입니다.");
return 0;
}

9.

#include <stdio.h>

int main()
{
double x, y;

printf("x의 값을 입력하시오:");
scanf("%lf", &x);

if (x <= 0) {
y = x * x - 9 * x + 2;
printf("f(x)의 값은 %lf", y);
}
else {
y = 7 * x + 2;
printf("f(x)의 값은 %lf", y);
}
return 0;
}

10.

#include <stdio.h>

int main()
{
int x, y;

printf("좌표(x y): ");
scanf("%d %d", &x, &y);

if (x > 0 && y > 0)
printf("1사분면");
else if (x > 0 && y < 0)
printf("4사분면");
else if (x < 0 && y > 0)
printf("2사분면");
else
printf("3사분면");
return 0;
}

11.

#include <stdio.h>

int main()
{
char x; 

printf("문자를 입력하시오: ");
x=getchar();

switch (x)
{
case 'R':
printf("Rectangle");
break;
case 'r':
printf("Rectangle");
break;
case 'T':
printf("Triangle");
break;
case 't':
printf("triangle");
break;
case 'C':
printf("Circle");
break;
case 'c':
printf("Circle");
break;
default:
printf("Unknown");
break;
}
}

댓글

이 블로그의 인기 게시물

쉽게 풀어쓴 C언어 EXPRESS(개정 3판) - Chapter 16-2

쉽게 풀어쓴 C언어 EXPRESS(개정 3판) - Chapter 13-2

쉽게 풀어쓴 C언어 EXPRESS(개정 3판) - Chapter 12-3