printf와 유사한 print 함수 만들기
----
----
함수 원형
C++ 라이브러리 사용 금지
출력은 fputchar, fputs 등 사용
----
이름 | 소스 | 코딩 시간 |
이상규 | OurMajorLangIsCAndCPlusPlus/print/이상규 | 2시간 |
이도현 | OurMajorLangIsCAndCPlusPlus/print/이도현 | 3시간 30분 |
하기웅 | OurMajorLangIsCAndCPlusPlus/print/하기웅 | 2시간 30분 |
조현태 | OurMajorLangIsCAndCPlusPlus/print/조현태 | ? |
허준수 | OurMajorLangIsCAndCPlusPlus/print/허준수 | 3시간 |
김민경 | OurMajorLangIsCAndCPlusPlus/print/김민경 | 진행중 |
김상섭 | OurMajorLangIsCAndCPlusPlus/print/김상섭 | 2시간(열라 물어보면서..ㅡㅜ) |
함수 원형
~cpp void print(const char *, ...);printf, scanf 계열의 함수 사용 금지
C++ 라이브러리 사용 금지
출력은 fputchar, fputs 등 사용
요구사항 1 ¶
printf와 같이 %d, %s, %f를 통해 정수(int), 문자열(char*), 실수(double)를 출력할 수 있다.
예
~cpp int a = 10; char *b = "example"; double c = 10.5 print("number: %d, string: %s, real number: %f\n", a, b, c);결과
~cpp number: 10, string: example, real number: 10.5
요구사항 2 ¶
@d(정수 배열), @s(문자열 배열), @f(실수 배열)를 통해 배열을 출력할 수 있다.
배열의 경우 배열 포인터와 배열의 길이를 전달인자로 넘긴다.
배열 출력 형식은 { 원소1, 원소2, ... }
예
배열의 경우 배열 포인터와 배열의 길이를 전달인자로 넘긴다.
배열 출력 형식은 { 원소1, 원소2, ... }
~cpp int a[3] = { 1, 2, 3 }; char *b[2] = { "abc", "def" }; print("array: @d\n", a, 3); print("array: @s\n", b, 2);결과
~cpp array: { 1, 2, 3 } array: {abc, def }
요구사항 3 ¶
%3d와 같은 정렬 기능을 제공한다.
항상 우측정렬, 길이가 넘어가면 그대로 출력
예
----
OurMajorLangIsCAndCPlusPlus
항상 우측정렬, 길이가 넘어가면 그대로 출력
~cpp int a = 123; int b = 12345; int c = 12345678; print("number: %5d\n", a); print("number: %5d\n", b); print("number: %5d\n", c);결과
~cpp number: __123 number: 12345 number: 12345678('_'는 공백을 의미 실재로는 출력 안됨)
----
OurMajorLangIsCAndCPlusPlus