Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

OurMajorLangIsCAndCPlusPlus/print

From ZeroWiki
Revision as of 05:23, 7 February 2021 by imported>Unknown
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

printf와 유사한 print 함수 만들기


이름 소스 코딩 시간
이상규 OurMajorLangIsCAndCPlusPlus/print/이상규 2시간
이도현 OurMajorLangIsCAndCPlusPlus/print/이도현 3시간 30분
하기웅 OurMajorLangIsCAndCPlusPlus/print/하기웅 2시간 30분
조현태 OurMajorLangIsCAndCPlusPlus/print/조현태 ?
허준수 OurMajorLangIsCAndCPlusPlus/print/허준수 3시간
김민경 OurMajorLangIsCAndCPlusPlus/print/김민경 진행중
김상섭 OurMajorLangIsCAndCPlusPlus/print/김상섭 2시간(열라 물어보면서..ㅡㅜ)

함수 원형

void print(const char *, ...);

printf, scanf 계열의 함수 사용 금지 C++ 라이브러리 사용 금지 출력은 fputchar, fputs 등 사용

요구사항 1

printf와 같이 %d, %s, %f를 통해 정수(int), 문자열(char*), 실수(double)를 출력할 수 있다.

int a = 10;
char *b = "example";
double c = 10.5
print("number: %d, string: %s, real number: %f\n", a, b, c);

결과

number: 10, string: example, real number: 10.5

요구사항 2

@d(정수 배열), @s(문자열 배열), @f(실수 배열)를 통해 배열을 출력할 수 있다. 배열의 경우 배열 포인터와 배열의 길이를 전달인자로 넘긴다. 배열 출력 형식은 { 원소1, 원소2, ... }

int a[3] = { 1, 2, 3 };
char *b[2] = { "abc", "def" };
print("array: @d\n", a, 3);
print("array: @s\n", b, 2);

결과

array: { 1, 2, 3 }
array: {abc, def }

요구사항 3

%3d와 같은 정렬 기능을 제공한다. 항상 우측정렬, 길이가 넘어가면 그대로 출력

int a = 123;
int b = 12345;
int c = 12345678;
print("number: %5d\n", a);
print("number: %5d\n", b);
print("number: %5d\n", c);

결과

number: __123
number: 12345
number: 12345678

('_'는 공백을 의미 실재로는 출력 안됨)


OurMajorLangIsCAndCPlusPlus