-2

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

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

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

4

2 回答 2

5

一种方法是这样的:

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
}
于 2014-03-27T11:55:36.980 回答
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++;
}
于 2014-03-27T11:55:22.137 回答