C언어로 리눅스 터미널에서 정수를 나타낼 수 있는 함수를 만들어야 하는데 어떻게 코딩을 해야하는지 모르겠습니다.
조회수 888회
안녕하세요! 이번 주 부터 c를 배우기 시작한 초보입니다!
ubuntu terminal에서 .h, .c 그리고 main.c 파일을 가지고 컴파일 해서 돌아가는지 알아보는 수업을 하는 중입니다.
코딩을 어떻게 해야하는지 모르겠어서 질문 드려요!
1- C 언어로(prinf 나 atoi 같은 함수를 사용하지 않고) 콘솔에 숫자를 띄울 수 있는 함수를 만들어라.
프로토타입은 void my_put_number(int num); 사용 가능한 함수는 :my_put_char (char 을 넣는) 입니다.
(이미 fwrite로 (sizeof(char))을 넣어 만들어져 있는 함수 입니다)
2- 헤더나 int main()이 들어가는 main.c 는 만들었는데
main.c 는
#include <stdio.h>
#inlcude "my_put_number.h"
int main()
{
my_put_number(""); //" " 에 아무 숫자나 넣으면 출력해야합니다//
return 0;
}
이며
my_put_number.h 는
#ifndef MY_PUT_NUMBER
#define MY_PUT_NUMBER
void my_put_number(int num);
#endif
입니다.
그리고 사용되는 my_put_char 함수는
void my_put_char (char c)
{
fwrite(&c , sizeof(char) , 1 , stdout);
}
입니다.
정작 중요한 my_put_number.c 파일에 어떻게 작성해야 하는지 막막합니다
생각했던 방법은
a- 먼저 int num 의 정수 자리 수를 계산하고
b- % 를 사용하여 정수 자리 수를 각각 나눠 char 배열 저장 후
c- % 에서 나머지가 아닌 나눠진 수를 char 배열 저장 후
d- ASCII 를 통해 Char 배열에 저장된 숫자를 oct 코드로 변환
e- 그리고 my_put_char을 통해 숫자를 콘솔에 띄운다.
머리로는 이렇게 생각했는데 정작 코딩 방식은 전혀 모르겠습니다..
고수님들 도와주세요 ㅠ.ㅠ
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력