Saturday, November 11, 2006
C언어 기초 예제] 1에서 100까지, 한줄에 10개씩 숫자 쓰기
간단한 C소스 기초 예제인데요
지금 이 게시물은, 아래 주소 게시물의 후속편(?)입니다:
▶▶ C언어 기초 예제] 도스창 화면에, 1에서 100까지 숫자 쓰기
1~100까지 한 줄로 쓰지 않고, 10개씩 나누어서 출력하는 방법입니다.
if (i % 10 == 0) puts("");
이 줄이, 한줄에 10개씩 숫자를 적는 핵심입니다. % 는 나머지 연산자입니다. 1~100까지 변하는 변수인 i의 값을 10으로 나누어서, 몫은 상관없고, 나머지가 0이라면 그 숫자는 10단위가 됩니다. 따라서 그때에는 puts("") 이런 함수를 사용하여 다음줄로 자동으로 Enter키를 쳐서 줄바꿈을 하라는 뜻입니다.
그리고 1은 1자리 수이고, 100은 3자리 수이기에, 줄이 맞지 않아서 삐뚤삐뚤해집니다. 그래서 1자리 숫자의 앞에는 공백을 2개 넣고, 2자리 숫자의 앞에는 공백을 1개 넣고, 3자리 숫자의 앞에는 공백을 전혀 넣지 않아야 줄이 맞추어집니다. 따라서 모든 숫자를 3자리 숫자의 줄에 맞게 만들기 위해, printf() 함수에 "%3d " 이렇게 지정했습니다.
컴파일 및 실행 결과:
지금 이 게시물은, 아래 주소 게시물의 후속편(?)입니다:
▶▶ C언어 기초 예제] 도스창 화면에, 1에서 100까지 숫자 쓰기
1~100까지 한 줄로 쓰지 않고, 10개씩 나누어서 출력하는 방법입니다.
1줄에 10개씩 나누어서, 100까지 숫자 쓰기 예제
#include <stdio.h>
int main(void) {
for (int i = 1; i <= 100; i++) {
printf("%3d ", i);
if (i % 10 == 0) puts("");
}
return 0;
}
int main(void) {
for (int i = 1; i <= 100; i++) {
printf("%3d ", i);
if (i % 10 == 0) puts("");
}
return 0;
}
if (i % 10 == 0) puts("");
이 줄이, 한줄에 10개씩 숫자를 적는 핵심입니다. % 는 나머지 연산자입니다. 1~100까지 변하는 변수인 i의 값을 10으로 나누어서, 몫은 상관없고, 나머지가 0이라면 그 숫자는 10단위가 됩니다. 따라서 그때에는 puts("") 이런 함수를 사용하여 다음줄로 자동으로 Enter키를 쳐서 줄바꿈을 하라는 뜻입니다.
그리고 1은 1자리 수이고, 100은 3자리 수이기에, 줄이 맞지 않아서 삐뚤삐뚤해집니다. 그래서 1자리 숫자의 앞에는 공백을 2개 넣고, 2자리 숫자의 앞에는 공백을 1개 넣고, 3자리 숫자의 앞에는 공백을 전혀 넣지 않아야 줄이 맞추어집니다. 따라서 모든 숫자를 3자리 숫자의 줄에 맞게 만들기 위해, printf() 함수에 "%3d " 이렇게 지정했습니다.
컴파일 및 실행 결과:
D:\Z>cl 0.cpp && 0.exe
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.
0.cpp
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation. All rights reserved.
/out:0.exe
0.obj
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 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100
D:\Z>
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.
0.cpp
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation. All rights reserved.
/out:0.exe
0.obj
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 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100
D:\Z>
tag: cpp
C언어 | C/C++ (Visual C++)
<< Home