C从int获取所有其他数字

时间:2014-03-27 11:49:52

标签: c cs50

我跟随哈佛大学的CS50课程,我必须在C中创建一个程序,查找信用卡号是否有效。例如,我想从这个号码378282246310005得到像这个7224300的每隔一个数字,所以我开始这样:

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

我不知道我需要使用哪些方法来获取其他数字来进行计算。

2 个答案:

答案 0 :(得分: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
}

答案 1 :(得分: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++;
}