반복문을 이용한 구구단



- for문을 이용한 구구단 출력


          int i,j;

          for(i=2; i<10; i++)
          {
              for(j=1; j<10; j++){
                   System.out.print(i+"*"+j+"="+i*j+",");
              }
          System.out.println(" "); // 단을 구분하기 위한 개행

          }

(실행 결과)

2*1=2,2*2=4,2*3=6,2*4=8,2*5=10,2*6=12,2*7=14,2*8=16,2*9=18,
3*1=3,3*2=6,3*3=9,3*4=12,3*5=15,3*6=18,3*7=21,3*8=24,3*9=27,
4*1=4,4*2=8,4*3=12,4*4=16,4*5=20,4*6=24,4*7=28,4*8=32,4*9=36,
5*1=5,5*2=10,5*3=15,5*4=20,5*5=25,5*6=30,5*7=35,5*8=40,5*9=45,
6*1=6,6*2=12,6*3=18,6*4=24,6*5=30,6*6=36,6*7=42,6*8=48,6*9=54,
7*1=7,7*2=14,7*3=21,7*4=28,7*5=35,7*6=42,7*7=49,7*8=56,7*9=63,
8*1=8,8*2=16,8*3=24,8*4=32,8*5=40,8*6=48,8*7=56,8*8=64,8*9=72,
9*1=9,9*2=18,9*3=27,9*4=36,9*5=45,9*6=54,9*7=63,9*8=72,9*9=81,


- while문을 이용한 구구단 출력


          int i,j;
          i=1; j=1;
          while(i<10)
          {
              while(j<10){
                   System.out.print(i+"*"+j+"="+i*j+",");
                   j++;
              }
              System.out.println();
              j=1; // 초기화
              i++;
          }


- 원하는 단을 입력받아서 해당하는 단만 출력


import java.util.Scanner;
public class gugu
{
     

          Scanner s= new Scanner(System.in);
          // 입력을 받기 위한 Scanner클래스
          while(true){ // break를 만나기 전까지 계속 반복
              System.out.print("구구단을 출력하는 프로그램입니다.\n출력할 단을 입력하세요 (종료하시려면 0 입력) : ");
              int input=s.nextInt(); // 정수를 입력받아 input 변수에 저장
                   
              if(input==0){ // 0이 입력되면 종료
                   System.out.println("이용해주셔서 감사합니다.");
                   break;
              }
                   
              for(int i=1; i<10; i++){
                   System.out.println(input+"*"+i+"="+input*i);
              }//close for()
              System.out.println(); // 단을 출력한 뒤 한줄개행
          }//close while()
     }
}

(실행 결과)

구구단을 출력하는 프로그램입니다.
출력할 단을 입력하세요 (종료하시려면 0 입력) : 5
5*1=5
5*2=10
5*3=15
5*4=20
5*5=25
5*6=30
5*7=35
5*8=40
5*9=45
구구단을 출력하는 프로그램입니다.
출력할 단을 입력하세요 (종료하시려면 0 입력) : 0

이용해주셔서 감사합니다.





기타 제어문

 

 기타 제어문은 주로 반복문에서 사용하는 제어문으로 break와 continue가 있습니다.


- break

 break문은 동작을 멈추고 끝내는 제어문으로, 앞에서 공부할 때 이미 사용한 적이 몇 번 있습니다.  break문은 반복문 외에도 switch문에서도 사용합니다. 사용 형태는 다음과 같습니다.

------------------------------------------------------------------------------------------

반복문 또는 switch문{

(중략)

break;

(중략) // break문 밑에 코드는 실행되지 않고 종료

}

------------------------------------------------------------------------------------------


- continue

 continue문은 반복문에서  현재 반복을 중단하고, 다음 반복을 계속할 때 사용하는 제어문입니다. continue문을 사용하면 continue문 밑에 코드는 실행되지 않고, 다음 반복으로 넘어갑니다. 사용 형태는 다음과 같습니다.

------------------------------------------------------------------------------------------

반복문{

(중략)

continue;

(중략) // continue문 밑에 코드는 실행되지 않고 다음 반복으로 넘어감

}

------------------------------------------------------------------------------------------


지금 까지 배운 조건문과 기타 제어문을 이용해 업 다운 게임을 만들어 보았습니다.

------------------------------------------------------------------------------------------

#include <stdio.h>
#pragma warning(disable:4996)

int main()
{
int okay; // 정답으로 설정할 변수 선언
int input; // 정답을 맞힐 변수 선언
int i; // 줄바꿈 문자에 사용할 변수를 선언
int count = 0; // 몇번만에 맞혔는지를 기록할 변수를 선언하고 초기화

printf("정답을 설정하세요 : "); 
scanf("%d", &okay);   // 정답(문제)을 입력
for (i = 0; i < 50; i++) // 정답을 입력받은 후 보이지않게 50번 줄바꿈 문자를 삽입
{
printf("\n"); 
}

while (1)
{
printf("정답을 입력하세요 : ");
scanf("%d", &input); // 답을 맞힙니다.
if (input == okay){ // 답을 맞힐경우 실행
count++; // count에 1을 더하지않으면, 정답을 맞힐경우 횟수가 증가하지 않기때문에 맞힐경우에도 1을 증가시킵니다.
printf("%d번만에 정답을 맞히셨습니다. \n", count);
break; // 종료
}
else if (input > okay)  // 정답보다 작을 경우 실행
{
printf("입력한 숫자보다 작습니다!\n");
count++; // 틀린 답을 입력할 경우 count를 1증가
}
else if (input < okay)  // 정답보다 클 경우 실행
{
printf("입력한 숫자보다 큽니다!\n");
count++; // 틀린 답을 입력할 경우 count를 1증가
}
}// close while
}

------------------------------------------------------------------------------------------

위의 코드를 실행하면 정답을 설정하라는 문자열이 출력되고 설정할 정답을 입력합니다.

정답을 설정하고나면, 50번 반복을 통해 출력된 줄바꿈 문자에의해 아래에 문자열이 출력됩니다.

정답을 입력하게되면 값을 비교해 큰지, 작은지 출력하고 정답을 맞히면 몇번만에 맞혔는지 출력하고 프로그램이 종료됩니다.


* 출처 : 한국기술교육대학교 온라인평생교육원 C 프로그래밍_1 

          스타일 C프로그래밍 저.김종훈,김종진 출.WellBook



'언어 > C' 카테고리의 다른 글

[C] 함수(2)  (0) 2016.12.20
[C] 함수(1)  (0) 2016.12.20
[C] 반복문  (0) 2016.12.18
[C] 조건문  (0) 2016.12.17
[C] 연산자  (0) 2016.12.16

+ Recent posts