2014-09-10 2 views
0

프로그래밍이 처음이며 정의되지 않은 길이의 배열에 대해서는 경험이 없습니다. 사용자 입력에 의해 생성 된 long long에서 특정 숫자를 추출하려고합니다 (char로는 실패했기 때문에). 최상의 결과를 얻으려면 루프가 실행되고 수학을 수행 할 수 있도록 각 숫자가 자체 int로 배열로 끝나야합니다.정수를 int에서 long long 배열로 추출

int spec20 = (digits/10000000000000000000) % 10; 

가 어떻게이 할 수 있습니다 :

내가 사용자가 GetLongLong 알에 넣어 숫자의 양으로, 오른쪽에서 20 자리를 얻고 싶은 것을 말이 내 코드는 모습입니다 더 간단하고 배열을 사용하여 특정 숫자를 저장 하시겠습니까?

char str[100]; // your number should most probably fit 
sprintf(str,"%lld",digits); 

다음 str이 숫자의 문자열 표현을 포함, 당신은하지 유일한 방법에 대한 (다음과 같이 (1부터 계산 시작) 오른쪽에서 20 요소를 찾을 수 있습니다

답변

0

이 작업을 수행 할 수 있습니다 확실한).

int d_len = strlen(str); 
int the_20th_pos = (d_len>20? d_len-20: -1); // take care of numbers less than 20 digits 
int the_20th = (int)(the_20th_pos<0? 0: str[d_len-the_20th_pos]-'0');