[ICON] C언어 멘토링 - 7차시 수업 : 반복문 복습 & rand() 함수

hhhhyelim·2022년 8월 11일
0

ICON

목록 보기
7/17
post-thumbnail

📆 일시

: 2022/07/14

📝 수업 내용

  • 반복문 복습
    - for문
    - 중첩된 for문
    - while문
    - do-while문
  • rand() 함수
    - rand() 함수 & 난수 범위
    - #include <time.h> & srand(time(NULL));

💻 실습 내용

  • 1부터 100까지의 합을 구하는 코드 작성(do-while문)
  • 입력 받은 정수를 1/2씩 줄여가면서 1이 될 때까지 출력하는 프로그램 작성(do-while문)

  • 4칙연산자(+, -, *, /)와 연산항을 읽어서 결과를 반복적으로 출력하는 프로그램 작성(while문)

  • 여러 개의 성적을 읽어서 그 총점을 계산하는 프로그램 작성(while문)

  • 정수를 입력받아 소수인지 아닌지 검사하는 프로그램 작성(조건문, 반복문, 분기문)

  • 0부터 99까지의 난수를 발생하는 프로그램 작성(rand()함수)

  • 중첩된 for문 이용해 별찍기 (중첩for문)

📚 과제(8문제)

  1. 0보다 큰 양의 정수를 입력받아 역순으로 출력하는 프로그램을 작성하시오.
    - do-while문 사용

👉실행 예시

Enter the number: 12345
5 4 3 2 1
  1. 1~99 사이의 정수 중 하나를 컴퓨터가 가지고 있고, 사용자가 그 수를 알아맞히는 프로그램을 작성하시오. 사용자가 알아맞히는데 걸린 시도횟수를 함께 출력한다.
    - do -while문 사용

👉실행 예시

정답을 추측해 보시오: 78
더 작은 수를 말해봐
정답을 추측해 보시오: 45
더 큰 수를 말해봐
정답을 추측해 보시오: 59
축하합니다. 3번 만에 맞췄네요!
  1. 학생수, 총점, 평균, 가장 좋은 점수를 출력하도록 프로그램을 작성하시오.
    - while문 사용

👉참고

- 총점, 평균을 계산하여 출력하는 부분을 성공시킨 후, 그 다음 최고 점수를 찾아 출력하는 
  부분을 추가하여 실행시킨다.
– 주의사항: 데이터가 없이 바로 -1이 입력되는 경우 실행결과 2와 같은 실행 예를 내도록 하라.

👉실행 예시1

Enter a score(-1 for exit): 30
Enter a score(-1 for exit): 50
Enter a score(-1 for exit): 30
Enter a score(-1 for exit): -1
You’ve entered 3 students.
The total is 110.
The average is 36.7.
The best score is 50.

👉실행 예시2

Enter a score(-1 for exit): -1
You’ve entered 0 students.
There is no data.
  1. 정수 2개를 입력받아 두 수의 최대 공약수를 구하는 프로그램을 작성하시오.
    - while문 사용

👉참고

- 유클리드 호제법 사용
1) 두 수 가운데 큰 수를 x, 작은 수를 y라고 한다.
2) y가 0이면 최대공약수는 x와 같고 알고리즘을 종료한다.
3) r <- x % y     
4) x <- y       
5) y <- r     
6) 단계 2)로 되돌아 간다.

👉실행 예시

두 개의 정수를 입력하시오(큰수 작은수): 18 12
GCD = 6
  1. 소문자를 입력받아 대문자로 변경하여 출력하는 프로그램을 작성하시오. 단, 대문자 ‘Q’를 입력하면 프로그램을 종료하도록 하며, 소문자와 대문자 ‘Q’가 아니면 다시 입력받는다.

👉실행 예시

소문자를 입력: a
변환된 대문자는 A
소문자를 입력: 1
소문자를 입력: 2
소문자를 입력: z
변환된 대문자는 Z
소문자를 입력: Q
  1. 정수 N을 입력받아 1~N 사이의 소수를 모두 구하여 출력하는 프로그램을 작성하시오.
    (단, 소수는 한 줄에 10개씩 출력한다.)

👉실행 예시

양의 정수? 100
12 13 15 17 11 13 17 19 23 29
31 37 41 43 47 53 59 61 67 71
73 79 83 89 97
  1. 사용자가 원하는 만큼 덧셈 문제를 연습할 수 있도록 프로그램을 작성하시오.

👉실행 예시

9 + 0 = 9
Your answer is right.
Continue?(y/n): y
5 + 4 = 7
Your answer is wrong.
9 is the right answer.
Continue?(y/n): y
8 + 9 = 2
Your answer is wrong.
17 is the right answer.
Continue?(y/n): n
  1. 중첩된 for문을 사용하여 아래와 같이 출력하는 프로그램을 작성하시오.

👉실행 예시

rows? 4
*
**
***
****
***
**
*

0개의 댓글