gpt4 book ai didi

c - 在C中一次将数字放入数组中

转载 作者:太空宇宙 更新时间:2023-11-03 23:25:48 24 4
gpt4 key购买 nike

我正在努力寻找这个问题的答案:我希望能够控制信用卡号(比如“378282246310005”)是否满足特定条件(例如,它是否以数字 3 开头)。

我希望能够一次输入完整的数字,然后检查数字中的某些位置(例如每秒)。然而,我只是在一个接一个地输入它们时设法将它们放入一个数组中,这很烦人:

int main()
{

int user_input[5];
int i;

for(i=0;i<5;i++)
{
printf("Credit Card Number Digit %d\n",i+1);
scanf("%d",(user_input+i));
}

if(user_input[0] == 5)
printf("MASTERCARD\n");

else
printf("INVALID\n");

return 0;
}

最佳答案

只需检查输入的每个数字并忽略任何非数字输入,例如

int main()
{
int user_input[16];
int digits = 0;

while (digits < 16)
{
int c = getchar(); // get character
if (c == EOF) break; // break on EOF
if (isdigit(x)) // if character is numeric
{ // convert it to int and append to user_input array
user_input[digits++] = c - '0';
} // (otherwise just ignore it)
}

if (digits > 0 && user_input[0] == 5)
{
printf("MASTERCARD\n");
}
else
{
printf("INVALID\n");
}

return 0;
}

关于c - 在C中一次将数字放入数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27780703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com