알고리즘 & 자료구조/알고리즘&자료구조
int 숫자를 char 숫자로 변환
알 수 없는 사용자
2016. 4. 10. 00:52
진즉부터 올릴려고 하던걸 이제서야.... OTL....
컬러스크립트 사용방법이 아직 익숙하지 않은듯.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 |
char itoc(int a)
{
return a + 0x30;
// 0x30 is usable for number of ascii code
}
char* itoc(int a, char* array_)
{
int temp = a; int cnt = 0; // 자릿수 세기
while (temp > 0)
{
temp = temp / 10;
++cnt;
}
temp = a;
for (int i = 0; i != cnt; ++i)
{
*(array_ + cnt - 1 - i) = itoc(temp % 10);
temp = temp / 10;
}
return array_;
}
|
cs |
1. 한자리 숫자 변환하기 (1~5)
우선 int 숫자가 한자리 인것을 변환해준다.
0x30 만큰의 아스키 코드 값의 차이가 있어서 단순히 더해주는 것으로 하였다.
assert 같은걸로 한자리 이상이면 예외처리를 해주는 것은 왜인지 하지 않았다. -_ -a
2. 한자리 이상의 숫가 변환하기 (7~23)
함수 오버로딩을 통하여 char 배열형태포인터를 받기로 하였다.
자릿수 세는 것을 하고싶지는 않았지만, 현재 알고리즘상으로는 자릿수 만큼 돌려야 하기에, 일단 사용을 하는걸로..
19번째 줄이 핵심. 마지막 자리숫자부터 _array의 앞부분에 차근차근 집어 넣었다.
그리고 return array_는 사실 하던 안하던 관계는 엄슴.
음... 뭔가 100점짜리는 아니지만 짧은 시간에 그냥저냥 클리어 한 느낌이랄까.
그럼 안녕~
Feedback : smile.k06@gmail.com
반응형