C/제어문
제어문 예제1 & 랜덤
june__Park
2021. 3. 29. 16:35
#include <stdio.h>
void ex01(){
int n;
while (1){
printf("아무 정수 입력(종료:-1):");
scanf_s("%d", &n);
if(n == -1){
printf("종료합니다..\n");
break; // while문 종료
}
printf("입력된 정수 : %d \n", n);
}
}
#include <time.h> // time()
#include <stdlib.h> // srand(), rand()
void quiz01(){
// 컴퓨터가 랜덤하게 1 ~ 100 중 1개의 숫자를 뽑는다.
// 사용자가 정답을 맞출 때까지 계속 사용자에게 정수를 입력받음
// 정답 < 입력값 => Down! 을 출력
// 정답 > 입력값 => Up! 을 출력
// 정답 == 입력값 => 반복 종료
// (+ 입력 횟수, 횟수가 10회 이하면 WIN 출력 아니면 LOSE 출력)
int correct; // 정답
int user;
int count =0;
srand(time(NULL));
correct = rand() % 100 + 1; // 1 ~ 100까지의 수 중 랜덤하게 1개
printf("%d \n", correct);
while (1){
++count;
printf("답:"); scanf_s("%d", &user);
if(correct > user) {
printf("UP! \n");
}
else if(correct < user) {
printf("DOWN! \n");
}
else{
break;
}
} // while
if (count <= 10){
printf("WIN! \n");
}
else {
printf("LOSE.. \n");
}
}
void sample(){
// rand() : 랜덤 수 1개 뽑아라! => int형 ( 0~32767 )
srand(time(0)); // srand( 시간데이터 ) ==> 딱 한번만
int n = 1;
while(n <= 10){
// 0 NULL
// 2 ~ 9 rand() % 개수 + 첫값
printf("%d \n", rand() % 8 + 2); // 랜덤 수 뽑는 rand() 이것만 반복처리
n++;
}
}
void ex02(){
int n;
// 1 ~ 10
/*
for(초기식; 조건식; 변화식){
종속문장
}
초기식 -> 조건식 -> 참이면 -> 종속문장 -> 변화식
-> 조건식 -> 참이면 -> 종속문장 .....
-> 조건식 -> 거짓이면 -> for 종료
*/
for (n = 1; n <= 10; ++n){
printf("%d \n", n);
}
}
void quiz02(){
// 1. 구구단 4단 출력
int n;
for(n = 1; n <= 9; ++n){
printf("%d X %d = %d \n", 4, n, 4*n);
}
// 2. 1 ~ 1000 중 11과 13의 공배수를 출력 (그의 개수 출력)
int count = 0;
/*for(n = 1; n <= 1000; ++n){
if( !(n%11) && !(n%13) ){
printf("%d \n", n);
++count;
}
}*/
for(n = 143, count = 0; n <= 1000; n += 143, ++count){ // ++n ==> n += 1
printf("%d \n", n);
}
printf("총 %d개 \n", count);
// 3. 구구단 2단 ~ 9단 모두 출력
int dan;
for(dan = 2; dan <= 9; ++dan){
printf("===== %d단 =====\n", dan);
for(n = 1; n <= 9; ++n){
printf("%d X %d = %d \n", dan, n, dan*n);
}
}
}
void main(){
//ex01();
//quiz01();
//sample();
//ex02();
quiz02();
}