01. 사용자로부터 2개의 정수를 받아서 첫 번째 정수가 두 번째 정수로 나누어 떨어지는 지를 검사하는 프로그램을 작성하라. 즉, 약수인지를 검사한다.
#include <stdio.h>
int main() {
int a, b;
printf("정수를 입력하시오: ");
scanf("%d", &a);
printf("정수를 입력하시오: ");
scanf("%d", &b);
if (a % b == 0) {
printf("약수입니다.");
}
}
02. 사용자로부터 3개의 정수를 읽어 들인 후에 if-else 문을 사용하여 가장 작은 값을 결정하는 프로그램을 작성하라.
#include <stdio.h>
int main() {
int a, b, c, min;
printf("정수 3개를 입력하시오: ");
scanf("%d %d %d", &a, &b, &c);
if (a < b) {
if (a < c) {
min = a;
}
else {
min = c;
}
}
else {
if (b < c) {
min = b;
}
else {
min = c;
}
}
printf("제일 작은 정수는 %d입니다.", min);
}
03. 컴퓨터와 가위, 바위, 보 게임을 하는 프로그램을 작성하라. 컴퓨터는 사용자에게 알리지 않고 가위, 바위, 보 중에서 임의로 하나를 선택한다. 사용자는 프로그램의 입력 안내 메기지에 따라서, 3개 중에서 하나를 선택하게 된다. 사용자의 선택이 끝나면 컴퓨터는 누가 무엇을 선택하였고 누가 이겼는지, 비겼는지를 알려준다.
#include <stdio.h>
#include <time.h>
int main() {
int user, com;
srand((unsigned)time(NULL));
printf("(1: 가위 2:바위 3:보) 중에서 하나를 선택하시오: ");
scanf("%d", &user);
com = rand() % 3 + 1;
if (com == 1) {
printf("컴퓨터는 가위를 선택하였습니다.\n\n");
}
else if (com == 2) {
printf("컴퓨터는 바위를 선택하였습니다.\n\n");
}
else {
printf("컴퓨터는 보를 선택하였습니다.\n\n");
}
if ((com == 1 && user == 3) || (com == 2 && user == 1) || (com == 3 && user == 2)) {
printf("컴퓨터가 이겼습니다. \n");
}
else if ((user == 1 && com == 3) || (user == 2 && com == 1) || (user == 3 && com == 2)) {
printf("사용자가 이겼습니다. \n");
}
else {
printf("비겼습니다.");
}
}
04. 놀이 공원에서 롤러코스터에 타려면 키가 140cm 이상이고 나이가 10살 이상이어야 한다고 가정하자. 사용자에게 키와 나이를 질문한 후에 "타도 좋습니다." 또는 "죄송합니다."를 출력하는 프로그램을 작성하여보자.
#include <stdio.h>
int main() {
int k, n;
printf("키를 입력하시오(cm): ");
scanf("%d", &k);
printf("나이를 입력하시오: ");
scanf("%d", &n);
if (k >= 140 && n >= 10) {
printf("\n타도 좋습니다. \n");
}
else {
printf("\n죄송합니다. \n");
}
}
05. 사용자로부터 몇 월인지 정수로 입력받아서 Jan와 같은 영어단어로 출력하는 프로그램을 작성하라.
#include <stdio.h>
int main() {
int month;
printf("월 번호를 입력하시오: ");
scanf("%d", &month);
switch (month) {
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("Jun");
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");
}
}
06. 키보드에서 하나의 문자를 읽어서 모음과 자음을 구분하는 프로그램을 작성하여보자. 단 swtich 문을 사용한다.
#include <stdio.h>
int main() {
char a;
printf("문자를 입력하시오: ");
scanf("%c", &a);
switch (a) {
case 'A': case 'E': case 'I': case 'O': case'U':
case 'a': case 'e': case 'i': case 'o': case'u':
printf("모음입니다.");
break;
default:
printf("자음입니다.");
}
}
07. 사용자로부터 키를 입력받아서 표준 체중을 계산한 후에 사요자의 체중과 비교하여 저체중인지, 표준 체중인지, 과체중인지를 판단하는 프로그램을 작성하라. 표준 체중 계산식은 다음을 사용하라.
#include <stdio.h>
int main() {
double w, st_w, k;
printf("체중과 키를 입력하시오: ");
scanf("%lf %lf", &w, &k);
st_w = (k - 100) * 0.9;
if (w < st_w) {
printf("저체중입니다.");
}
else if (w == st_w) {
printf("표준입니다.");
}
else {
printf("과체중입니다.");
}
}
08. 놀이 공원의 자유이용권의 가격을 계산하는 프로그램을 작성하여보자. 입장료는 다음과 같은 조건으로 결정된다. 현재 시간과 사용자의 나이를 입력받아서 지불하여야 하는 요금을 화면에출력한다.
#include <stdio.h>
int main() {
int time, age, pay;
printf("현재 시간과 나이를 입력하시오(시간 나이): ");
scanf("%d %d", &time, &age);
if (time < 17) {
if ((age >= 3 && age <= 12) || age >= 65) {
pay = 25000;
}
else {
pay = 34000;
}
}
else {
pay = 10000;
}
printf("요금은 %d원 입니다.", pay);
}
09. 다음과 같이 정의되는 함수의 함수값을 게산하여보자. 사용자로부터 x값을 입력받아서 함수값을 계산하여 화면에 출력한다. x는 실수이다.
#include <stdio.h>
int main() {
double x, y;
printf("x의 값을 입력하시오: ");
scanf("%lf", &x);
if (x<= 0) {
y = x * x - 9 * x + 2;
}
else {
y = 7 * x + 2;
}
printf("f(x)의 값은 %.2lf 입니다.", y);
}
10. (x,y) 좌표를 입력받아서 좌표가 속하는 사분면을 화면에 출력하는 프로그램을 작성하시오.
#include <stdio.h>
int main() {
int x, y, z;
printf("x, y좌표를 입력하시오: ");
scanf("%d %d", &x, &y);
if (x > 0 && y > 0) {
z = 1;
}
else if (x < 0 && y > 0) {
z = 1;
}
else if (x < 0 && y < 0) {
z = 3;
}
else {
z = 4;
}
printf("%d사분면입니다.", z);
}
11. 사용자로부터 하나의 문자를 입력받아서 문자가 'R'이나 'r'이면 "Renctangle"이라고 출력한다. 'T'이거나 't'이면 "Triangle", "C"이거나 "c"이면 "Circle"이라고 출력하는 프로그램을 작성한다. 그 외의 문자가 들어오면 "Unknwon"이라고 출력한다.
#include <stdio.h>
int main() {
char a;
printf("문자를 입력하시오: ");
a = getchar();
if (a == 'R' || a == 'r') {
printf("Rectangle");
}
else if (a == 'T' || a == 't') {
printf("Triangle");
}
else if (a == 'C' || a == 'c') {
printf("Circle");
}
else {
printf("Unknown");
}
}
12. 2자리 숫자로이루어진 복권이 있다. 사용자가 가지고 있는 복권 번호가 2자리 모두 일치하면 100만원을 받는다. 2자리 중에서 하나만 일치하면 50만원을 받는다. 하나도 일치하지 않으면 상금은 없다. 복권 당첨 번호는 난수로 생성하고 사용자의 입력에 따라서 상금이 얼마인지를 출력하는 프로그램을 작성하라.
#include <stdio.h>
#include <time.h>
int main() {
srand((unsigned)time(NULL));
int com, user;
int com_digit1, com_digit2;
int user_digit1, user_digit2;
printf("복권 번호를 입력하시오(0에서 99사이):");
scanf("%d", &user);
user_digit1 = user / 10;
user_digit2 = user % 10;
com = rand() % 100;
com_digit1 = com / 10;
com_digit2 = com % 10;
printf("당첨번호는 %d입니다.\n", com);
if (com == user) {
printf("상금은 100만원입니다.");
}
else if ((com_digit1 == user_digit1) || (com_digit1 == user_digit2) || (com_digit2 == user_digit1) || (com_digit2 == user_digit2)) {
printf("상금은 50만원입니다.");
}
else {
printf("상금은 없습니다.");
}
}
'C' 카테고리의 다른 글
[쉽게 풀어쓴 C언어 Express 개정 4판] 8장 Programming (1) | 2024.10.03 |
---|---|
[쉽게 풀어쓴 C언어 Express 개정 4판] 7장 Programming (0) | 2024.10.02 |
[쉽게 풀어쓴 C언어 Express 개정 4판] 5장 Programming (0) | 2024.09.27 |
[쉽게 풀어쓴 C언어 Express 개정 4판] 4장 Programming (1) | 2024.09.27 |
[쉽게 풀어쓴 C언어 Express 개정 4판] 3장 Programming (0) | 2024.09.25 |