2011-02-10 23 views

答えて

6

整数の除算とモジュロを使用して、数値の小数点を得ることができます。まず

//Pseudo code 
int[MAX_SIZE] result; 
int index = 0; 
while (workingNumber > 0) 
{ 
    digit = workingNumber % 10; 
    result[index] = digit; 
    workingNumber = workingNumber/10; //Must be integer division 
    index++; 
} 
+1

所与例えば数字がアレイ状に、{3、2、1}であることに注意してください、すなわち、あなたが求められ何OP得るためにそれを逆にする必要があります。 –

1

、Cで「charの配列」と「文字列」との唯一の本当の違いは、文字列、あなたはcharの配列の末尾にNULターミネーターを置くことであることに留意してください。

int(またはlongなど、char以外の配列)を作成する場合は、通常、10で割ったときに余りをとり、 '0を加算して数字に変換します'その後、数値を10で割り、ゼロになるまで繰り返します。これは、最小値から最大値までの数値を作成するので、通常、配列の最後にそれらをデポジットし、先頭に向かって逆方向に作業します。

3
#include <math.h> 

... 

int number = 5841; 
int size = log10(number) + 1; 
int arr[size]; 
int i = size; 
while(i >= 0) 
{ 
    arr[--i] = number % 10; 
    number /= 10; 
} 
1
#include <stdio.h> 
#include <math.h> 

#define LEN 3 

int main(int argc,char* argv[]) 
{ 
    int i = 123; 
    int a[LEN]; 
    int digit; 
    int idx = log10(i); 

    do { 
    digit = i % 10; 
    i /= 10; 
    a[idx--] = digit; 
    } while (i != 0); 

    printf("a: { %d, %d, %d }\n", a[0], a[1], a[2]); 

    return 0; 
} 
関連する問題