📌 난수 생성하기
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
int main(void) {
printf("난수 초기화 이전... \\n");
for (int i = 0; i < 10; i++) {
printf("%d", rand() % 10);
}
printf("\\n\\n난수 초기화 이후... \\n");
srand(time(NULL));//난수 초기화
for (int i = 0; i < 10; i++) {
printf("%d", rand() % 10);
}
return 0;
}
- 난수를 초기화 안하면 계속 같은 수로 나옴.
- 난수를 제대로 뽑으려면 항상 난수 초기화를 한 후에 rand()함수를 사용해야함.
❗ rand() 함수를 사용하려면 #include <time.h> #include <stdlib.h> 이 필요함.
📌 switch 문
(if 문)
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
int main(void) {
srand(time(NULL)); //난수 초기화
int i = rand() % 3;
if (i == 0) {
printf("가위\\n");
} else if (i == 1) {
printf("바위\\n");
} else {
printf("보\\n");
}
return 0;
}
(switch 문)
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
int main(void) {
srand(time(NULL)); //난수 초기화
int i = rand() % 3; //0 ~2 반환
switch (i) {
case 0:
printf("가위\\n");
break;
case 1:
printf("바위\\n");
break;
case 2:
printf("보\\n");
break;
default:
printf("몰라요\\n");
}
return 0;
}
- 값과 일치하는 case 문을 만나면 switch문을 탈출해야 함으로 break;를 적어야함.
- default문은 switch 문 마지막에 오므로 break 문을 넣지 않아도 됨.
📌 숫자게임
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
int main(void) {
srand(time(NULL));
int num = rand() % 100 + 1;
printf("정답: %d\\n", num);
int answer = 0;
int chance = 5;
while (1) { //chance == 0 5번기회가 끝났을 때 코드 주기 위해 1로 (참으로) 넣음.
printf("남은 기회 %d번\\n", chance--);
printf("입력하쇼");
scanf_s("%d", &answer);
if (answer > num) {
printf("down\\n");
}
else if (answer < num) {
printf("up\\n");
}
else {
printf("정답 맟춤!!!\\n");
break;
}
if (chance == 0) {
printf("\\n\\n\\n게임 끝났습니더");
printf("정답: %d\\n", num);
break;
}
}
return 0;
}
- 5번기회를 모두 사용했을 때에 코드를 주기위해 while을 chance가 0보다 클 때에서 매번 실행하도록 1(참)으로 바꿈.
📌 커피 심부름
#include <stdio.h>
int main(void) {
int coffee = 0;
int sandwich = 0;
int total = 0;
printf("커피?: ");
scanf_s("%d", &coffee);
printf("샌드위치?: ");
scanf_s("%d", &sandwich);
if (coffee > 0 && sandwich > 0) {
total = (coffee * 3500) + (sandwich * 6000);
} else {
total = (coffee * 4500) + (sandwich * 6000);
}
printf("총 %d입니다\\n\\n\\n\\n", total);
return 0;
}
- 서브웨이 먹고싶다.
- 변수 받는게 헷갈려서 printf에서 &total로 받아서 오류가 났었다.
'언어 > C' 카테고리의 다른 글
[코딩자율학습] 9일차 프로젝트: 비밀번호 마스터 (0) | 2024.03.14 |
---|---|
[코딩자율학습] 8일차 함수 (0) | 2024.03.13 |
[코딩자율학습] 6일차 조건에 따라 분기하기 (0) | 2024.03.11 |
[코딩자율학습] 5일차 이중 반복문 (0) | 2024.03.08 |
[코딩자율학습] 4일차 반복문의 종류 (1) | 2024.03.07 |