1. 키보드에서 하나의 문자를 읽어서 모음과 자음을 구분하는 프로그램을 작성하여 보자. 단 switch 문을 사용한다.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
char c;
printf("문자를 입력하시오:");
c = getchar();
switch (c) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
printf("모음입니다.\n");
break;
default:
printf("자음입니다.\n");
}
return 0;
}
2. 사용자로부터 2개의 정수를 받아서 첫 번째 정수가 두 번째 정수로 나누어 떨어지는지를 검사하는 프로그램을 작성하라. 즉 약수인지를 검사한다.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
int x, y;
printf("정수를 입력하시오:");
scanf("%d", &x);
printf("정수를 입력하시오:");
scanf("%d", &y);
if (x % y == 0)
printf("약수입니다.\n");
else
printf("약수가 아닙니다.\n");
return 0;
}
3. 사용자로부터 3개의 정수를 읽어 들인 후에 if-else 문을 사용하여 가장 작은 값을 결정하는 프로그램을 작성하라.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
int x, y, z, min;
printf("3개의 정수를 입력하시오:");
scanf("%d %d %d", &x, &y, &z);
if (x < y) {
if (x < z)
min = x;
else
min = z;
}
else {
if (y < z)
min = y;
else
min = z;
}
printf("제일 작은 정수는 %d입니다.\n", min);
return 0;
}
4. 컴퓨터와 가위, 바위, 보 게임을 하는 프로그램을 작성하라. 컴퓨터는 사용자에게 알리지 않고 가위, 바위, 보 중에서 임의로 하나를 선택한다. 사용자는 프로그램의 입력 안내 메시지에 따라서, 3개 중에서 하나를 선택하게 된다. 사용자의 선택이 끝나면 컴퓨터는 누가 무엇을 선택하였고, 누가 이겼는지, 비겼는지를 알려준다.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h> // rand(), srand()
#include<time.h> // time()
int main(void)
{
int user, computer;
printf("선택하시오(1:가위 2:바위 3:보)");
scanf("%d", &user);
srand((unsigned int)time(NULL));
computer = rand() % 3 + 1;
if (user == 1) {
printf("사용자:가위\n");
if (computer == 1) {
printf("컴퓨터:가위\n비겼음\n");
}
else if (computer == 2) {
printf("컴퓨터:바위\n컴퓨터가 이겼음\n");
}
else {
printf("컴퓨터:보\n사용자가 이겼음\n");
}
}
else if (user == 2) {
printf("사용자:바위\n");
if (computer == 1) {
printf("컴퓨터:가위\n사용자가 이겼음\n");
}
else if (computer == 2) {
printf("컴퓨터:바위\n비겼음\n");
}
else {
printf("컴퓨터:보\n컴퓨터가 이겼음\n");
}
}
else if (user == 3) {
printf("사용자:보\n");
if (computer == 1) {
printf("컴퓨터:가위\n컴퓨터가 이겼음\n");
}
else if (computer == 2) {
printf("컴퓨터:바위\n사용자가 이겼음\n");
}
else {
printf("컴퓨터:보\n비겼음\n");
}
}
return 0;
}
5. 놀이 공원에서 롤러코스터에 타려면 키가 140cm 이상이고 나이가 10살 이상이어야 한다고 가정하자. 사용자에게 키와 나이를 질문한 후에 "타도 좋습니다" 또는 "죄송합니다"를 출력하는 프로그램을 작성하여 보자.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
int height, age;
printf("키를 입력하시오(cm): ");
scanf("%d", &height);
printf("나이를 입력하시오: ");
scanf("%d", &age);
if (height >= 140 && age >= 10)
printf("타도 좋습니다.\n");
else
printf("죄송합니다.\n");
return 0;
}
6. 사용자로부터 몇 월인지를 정수로 입력받아서 Jan와 같은 영어단어로 출력하는 프로그램을 작성하라.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
int month;
printf("월번호를 입력하시오: ");
scanf("%d", &month);
switch (month) {
case 1: printf("Jan\n"); break;
case 2: printf("Feb\n"); break;
case 3: printf("Mar\n"); break;
case 4: printf("Apr\n"); break;
case 5: printf("May\n"); break;
case 6: printf("Jun\n"); break;
case 7: printf("Jul\n"); break;
case 8: printf("Aug\n"); break;
case 9: printf("Sep\n"); break;
case 10: printf("Oct\n"); break;
case 11: printf("Nov\n"); break;
case 12: printf("Dec\n"); break;
}
return 0;
}
7. 사용자로부터 키를 입력받아서 표준 체중을 계산한 후에 사용자의 체중과 비교하여 저체중인지, 표준인지, 과체중인지를 판단하는 프로그램을 작성하라. 표준 체중 계산식은 다음을 사용하라.
표준 체중 = (키-100) x 0.9
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
int height, weight;
double std_weight;
printf("체중과 키를 입력하세요:");
scanf("%d %d", &height, &weight);
std_weight = (height - 100) * 0.9;
if (weight > std_weight)
printf("과체중입니다.\n");
else if (weight < std_weight)
printf("저체중입니다.\n");
else
printf("정상체중입니다.\n");
return 0;
}
8. 놀이 공원의 자유이용권의 가격을 계산하는 프로그램을 작성하여 보자. 입장료는 다음과 같은 조건으로 결정된다. 현재 시간과 사용자의 나이를 입력받아서 지불하여야 하는 요금을 화면에 출력한다.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
int current_time, age, admisson; // 현재 시간, 나이, 입장료
printf("현재 시간과 나이를 입력하시오(시간, 나이): ");
scanf("%d %d", ¤t_time, &age);
if (current_time < 17) { // 5시 이전
if ((age >= 3 && age <= 12) || age >= 65)
admisson = 25000;
else
admisson = 34000;
}
else // 5시 이후
admisson = 10000;
printf("요금은 %d입니다.\n", admisson);
return 0;
}
9. 다음과 같이 정의되는 함수의 함수값을 계산하여 보자. 사용자로부터 x값을 입력받아서 함수값을 계산하여 화면에 출력한다. x는 실수이다.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
double x, result;
printf("x의 값을 입력하시오:");
scanf("%lf", &x);
if (x <= 0)
result = x * x - 9 * x + 2;
else
result = 7 * x + 2;
printf("f(x)의 값은 %lf\n",result);
return 0;
}
10. (x, y) 좌표를 입력받아서 좌표가 속하는 사분면을 화면에 출력하는 프로그램을 작성하라.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
int x, y;
printf("좌표(x, y): ");
scanf("%d %d", &x, &y);
if (x > 0 && y > 0)
printf("1사분면\n");
else if (x < 0 && y > 0)
printf("2사분면\n");
else if (x < 0 && y < 0)
printf("3사분면\n");
else if (x > 0 && y < 0)
printf("4사분면\n");
return 0;
}
11. 사용자로부터 하나의 문자를 입력받아서 문자가 'R'이나 'r'이면 "Rectangle" 이라고 출력한다. 'T' 이거나 't' 이면 "Triangle", 'C' 이거나 'c' 이면 "Circle" 이라고 출력하는 프로그램을 작성한다. 그 외의 문자가 들어오면 "Unknown"이라고 출력한다.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
char c;
printf("문자를 입력하시오: ");
c = getchar();
if (c == 'R' || c == 'r')
printf("Rectangle\n");
else if (c == 'T' || c == 't')
printf("Triangle\n");
else if (c == 'C' || c == 'c')
printf("Circle\n");
else
printf("Unknown\n");
return 0;
}
'Category > C' 카테고리의 다른 글
쉽풀C - 10장 배열 (0) | 2023.02.06 |
---|---|
쉽풀C - 9장 함수와 변수 (0) | 2023.02.05 |
쉽풀C - 8장 함수 (0) | 2023.02.04 |
쉽풀C - 7장 반복문 (0) | 2023.02.03 |
쉽풀C - 5장 수식과 연산자 (0) | 2023.02.01 |