2014-03-27 33 views
-3

我遵循哈佛大學的CS50課程,我必須在C中創建一個程序,以查找信用卡號碼是否有效。例如,我從這個號碼378282246310005想要得到的所有其他數字像這樣7224300,所以我開始是這樣的:C從int獲取其他所有數字

printf("Number\n"); 
long long cardNum = GetLongLong(); 

我不知道我需要使用獲得的其他數字,使我的方法計算。

+0

的GetLongLong();方法是從哈佛cs50庫它就像scanf – Nick

回答

0

。利用簡單的除法(/)和%運算符來獲得這種做會是這樣

int number[20]; 
int count = 0; 
long long cardNum = GetLongLong(); 
long long prevNum = cardNum; 
while (cardNum < 10) 
{ 
    cardNum = prevNum/10; 
    number[count] = prevNum % 10; 
    prevNum = cardNum; 

    count++; 
} 
+0

我明白非常感謝你 – Nick

2

方式一:

int digits[7];    // storage for odd digits 

cardNum /= 10;    // throw away the least significant digit 
for (int i = 0; i < 7; ++i) // for each odd digit 
{ 
    digits[i] = cardNum %10; // extract the digit 
    cardNum /= 100;   // throw away two digits 
}