c-验证序列号的整数长度



有人给我做了制作应用程序库的作业,我一直在验证。如何验证整数长度?例如,我正在输入书籍序列号,但长度序列号必须在13-15位之间。我知道如何使用字符串,但我不知道如何使用整数/数字。

以下是对书名的验证

if(strlen(name)>=3 && strlen(name)<=25 && validasiName(name)){
break;
}else{
system("cls");
}

这个是序列号

if(ISBN>=13 && ISBN<=16){
break;
}else{
system("cls");
}

当你问位数时,你实际上是在问"我能把这个数字除以10多少次才小于10">

一个简单的递归实现看起来像这样:

#include <stdio.h>
#include <limits.h>
int numLen(unsigned long num){
if(num < 10) 
return 1;
return 1 + numLen(num/10);
}

int main()
{
printf("%dn", numLen(1));
printf("%dn", numLen(12));
printf("%dn", numLen(ULONG_MAX));
}

只要确保你没有输入负数

最新更新