我跟随哈佛大学的CS50课程,我必须在C中创建一个程序,查找信用卡号是否有效。例如,我想从这个号码378282246310005得到像这个7224300的每隔一个数字,所以我开始这样:
printf("Number\n");
long long cardNum = GetLongLong();
我不知道我需要使用哪些方法来获取其他数字来进行计算。
答案 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++;
}