티스토리 뷰

프로그래밍/c 언어

c언어 - 반복문(for문) 예제

주식하는 개발자 2020. 1. 28. 00:24

[C언어 - 반복문(for문) 기초 예제]

for문을 사용한 간단한 반복문 기초 예제 4가지를 준비해보았습니다.

문제 설명과 입출력 예제와 출력 결과를 참고해

프로그램을 만들어보세요.

 

정답 코드는 페이지 맨 아래쪽

따로 정리해놓았습니다.

 

 

 

[반복문(for문) 예제 풀어보기]

 

1. 1부터 n까지 출력시키기

사용자가 n값을 입력했을 때

1부터 n까지 출력시키는 프로그램을 만들어보세요.

 

◎입력 예제

5

 

◎출력 예제

1 2 3 4 5

 

(출력 결과)

 

 

2. 1부터 n까지 합을 출력시키기

사용자가 n값을 입력했을 때

1부터 n까지의 합을 출력시키는 프로그램을 만들어보세요.

 

◎입력 예제

5

 

◎출력 예제

15

 

(출력 결과)

 

 

3. n의 약수를 구하기

사용자가 n값을 입력했을 때

 

n의 약수를 출력하는 프로그램을 만들어보세요.

 

◎입력 예제

10

 

◎출력 예제

1 2 5 10

 

(출력 결과)

 

 

4. 구구단 출력시키기

사용자가 n을 입력하면

구구단 중 n단이 출력되는 프로그램을 만들어보세요.

 

◎입력 예제

7

 

◎출력 예제

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

 

(출력 결과)

 

 

5. 3 6 9 만 *로 출력시키기

사용자가 n을 입력하면

 

1부터 n까지 숫자를 출력시키는데

일의 자리 숫자가 3 6 9로 끝나면 *이 대신 출력되게 만들어보세요.

 

◎입력 예제

16

 

◎출력 예제

1 2 * 4 5 * 7 8 * 10 11 12 * 14 15 *

 

(출력 결과)

 

 

 

 

 


[정답 코드 및 설명]

 

1. n값을 입력받고

for문을 사용해 1부터 n까지 i값을 하나씩 증가시키면서 출력시킵니다.

#include<stdio.h>
 
int main()
{
    int n;
    scanf_s("%d"&n);
 
    for (int i = 1; i <= n; i++)
        printf("%d ", i);
}
 
cs

 

 

2. n값을 입력받고

n값까지의 합을 저장시킬 sum변수를 0으로 초기화시킵니다.

for문 안에 sum += 을 사용해 i값을 누적시켜 더해줍니다.

#include <stdio.h>
 
int main()
{
    int n,sum=0;
    scanf_s("%d"&n);
 
    for (int i = 1; i <= n; i++)
    {
        sum += i;
    }
 
    printf("%d", sum);
}
cs

 

 

3. 1부터 n까지 반복문을 돌리면서

n% i 가 0 인 값을 출력시킵니다.

% 는 나머지를 나타내는 연산자입니다.

#include <stdio.h>
 
int main()
{
    int n;
    scanf_s("%d"&n);
    for (int i = 1; i <= n; i++) {
        if (n % i == 0printf("%d ", i);
    }
}
cs

 

 

4. 사용자가 원하는 단을 입력하도록 n을 입력받을 수 있게 만들어주고

for문을 돌면서 printf("% d * %d = %d \n", n, i, n * i);를 출력시켜줍니다.

#include <stdio.h>
 
int main()
{
    int n;
    scanf_s("%d"&n);
 
    for (int i = 1; i < 10; i++)
        printf("%d * %d = %d \n", n, i, n * i);
}
 
cs

 

 

5. 먼저 1부터 n까지 돌아가는 for문을 만들어주고

temp 변수에 i%10을 사용해 일의 자리 숫자를 잠시 넣어주도록 합니다.

그리고 조건문을 사용해 일의 자리가 3,6,9 이면 *을 출력시키도록 합니다.

#include <stdio.h>
 
int main()
{
    int n;
    scanf_s("%d"&n);
 
    for (int i = 1; i <= n; i++)
    {
        int temp = i % 10;
        if (temp == 3 || temp == 6 || temp == 9) {
            printf("* ");
        }
        else printf("%d ", i);
    }
}
cs