How We Coding

Week 07

Tutoring/18-1 C Lang2018. 5. 5. 17:46

<180502>



- 반복문의 세계..!!


- for 문의 작동 원리


for(초기식; 조건식; 증감식) {

바디

}


1. 초기식

2. 조건식

>> 조건식이 참이면, 바디 - 증감식 후 다시 조건식으로.

>> 조건식이 거짓이면 for 문 종료.



- while 문 vs for 문

반복횟수를 알고 있는경우 for 문을, 얼마나 반복해야 할 지 모르는 경우 while 문을 추천.



- while 문 vs do ~ while 문

>> do ~while() : 바디를 일단 한번 실행 시키고 나서 조건식에 따라 반복여부 결정

>> while() :  조건식에 따라 반복




< 프로그래밍 연습 >


1. 0이 입력되기 전까지 입력된 정수들의 합과 평균 구하기.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
 
int main()
{
    int n, sum=0;
    int count=0;
    double avg;
 
    while(1) {
        scanf("%d"&n);
        if(n == 0
            break;
        sum += n;
        count++;
    }
 
    avg = (double)sum/count;
 
    return 0;
}
cs


>> 12 번 줄의 break 문은 가장 가까이에 있는 반복문 하나를 탈출한다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
 
int main()
{
    int n, sum=0;
    int count=0;
    double avg;
 
    do {
        scanf("%d"&n);
        sum += n;
        count++;
    } while(n != 0);
 
    avg = (double)sum/(count-1);
   
    return 0;
}
cs


>> do ~ while() 을 이용.



2. 1~10 까지의 합 구하기. 

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
 
int main()
{
    int i, sum=0;
    for(i=1; i<=10; i++)
        sum += i;
    printf("%d\n", sum);
    return 0;
}
cs



3. 1~n 까지의 합 구하기

1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
int main()
{
    int n;
    int i, sum=0;
    scanf("%d"&n);
    for(i=1; i<=n; i++)
        sum += i;
    printf("%d\n", sum);
    return 0;
}
cs



4. 1~n 까지의 수들 중 홀수의 합 구하기.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
int main()
{
    int n;
    int i, sum=0;
    scanf("%d"&n);
    for(i=1; i<=n; i++) {
        if(i%2 == 1) {
            sum += i;
        }
    }
    printf("%d\n", sum);
    return 0;
}
cs



5. 'A'~'Z' 까지 출력하기

1
2
3
4
5
6
7
8
9
#include <stdio.h>
 
int main()
{
    char ch;
    for(ch='A'; ch<='Z'; ch++)
        printf("%c\n", ch);
    return 0;
}
cs



6. 아래의 실행결과가 나오는 프로그래밍

1
2
3
4
5
6
7
8
9
1
22
333
4444
55555
666666
7777777
88888888
999999999
cs


1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
int main()
{
    int line, n;
    for(line=1; line<=9; line++) {
        for(n=1; n<=line; n++)
            printf("%d", line);
        printf("\n");
    }
    return 0;
}
cs



7.  아래의 실행결과가 나오는 프로그래밍

1
2
3
4
5
6
7
8
9
1
12
123
1234
12345
123456
1234567
12345678
123456789
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main()
{
    int line, n;
    for(line=1; line<=9; line++) {
        for(n=1; n<=line; n++)
            printf("%d", n);
        printf("\n");
    }
    return 0;
}
 
cs


>> 6번과 7번 소스코드가 어떻게 다른지 비교해보기..!!



8. 아래의 실행결과가 나오는 프로그래밍

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
A
AB
ABC
ABCD
ABCDE
ABCDEF
ABCDEFG
ABCDEFGH
ABCDEFGHI
ABCDEFGHIJ
ABCDEFGHIJK
ABCDEFGHIJKL
ABCDEFGHIJKLM
ABCDEFGHIJKLMN
ABCDEFGHIJKLMNO
ABCDEFGHIJKLMNOP
ABCDEFGHIJKLMNOPQ
ABCDEFGHIJKLMNOPQR
ABCDEFGHIJKLMNOPQRS
ABCDEFGHIJKLMNOPQRST
ABCDEFGHIJKLMNOPQRSTU
ABCDEFGHIJKLMNOPQRSTUV
ABCDEFGHIJKLMNOPQRSTUVW
ABCDEFGHIJKLMNOPQRSTUVWX
ABCDEFGHIJKLMNOPQRSTUVWXY
ABCDEFGHIJKLMNOPQRSTUVWXYZ
cs

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main()
{
    char ch, start;
    for(ch='A'; ch<='Z'; ch++) {
        for(start='A'; start<=ch; start++)
            printf("%c", start);
        printf("\n");
    }
    return 0;
}
 
cs



9. 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXY
ABCDEFGHIJKLMNOPQRSTUVWX
ABCDEFGHIJKLMNOPQRSTUVW
ABCDEFGHIJKLMNOPQRSTUV
ABCDEFGHIJKLMNOPQRSTU
ABCDEFGHIJKLMNOPQRST
ABCDEFGHIJKLMNOPQRS
ABCDEFGHIJKLMNOPQR
ABCDEFGHIJKLMNOPQ
ABCDEFGHIJKLMNOP
ABCDEFGHIJKLMNO
ABCDEFGHIJKLMN
ABCDEFGHIJKLM
ABCDEFGHIJKL
ABCDEFGHIJK
ABCDEFGHIJ
ABCDEFGHI
ABCDEFGH
ABCDEFG
ABCDEF
ABCDE
ABCD
ABC
AB
A
cs


1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
int main()
{
    char ch, start;
    for(ch='Z'; ch>='A'; ch--) {
        for(start='A'; start<=ch; start++)
            printf("%c", start);
        printf("\n");
    }
    return 0;
}
cs



10. 구구단 몇단??


1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
 
int main()
{
    int i, n;
    scanf("%d"&n);
    for(i=1; i<=9; i++)
        printf("%d * %d = %d\n", n, i, n*i);
    return 0;
}
cs



11. 기본 별찍기.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
int main()
{
    int i, j, n;
    scanf("%d"&n);
 
    for(i=1; i<=n; i++) {
        for(j=1; j<=i; j++)
            printf("*");
        printf("\n");
    }
 
    return 0;
}
cs


>> n 이 5일대의 실행결과

*

**

***

****

*****

'Tutoring > 18-1 C Lang' 카테고리의 다른 글

Week 09  (0) 2018.05.16
Week 08  (0) 2018.05.09
Week 06  (0) 2018.04.23
Week 05  (0) 2018.04.18
Week 04  (0) 2018.04.11