c语言,怎么写一个函数去判断输入数字是否正确
如果用户输入的四个数字1)是不同的四个数字,2)都不是0,3)输入的一定是一个四位数,那么输入值是正确。main(){....print("input:”);//输入一个...
如果用户输入的四个数字1)是不同的四个数字,2)都不是0,3)输入的一定是一个四位数,那么输入值是正确。
main()
{
....
print("input: ”); //输入一个四位数
scanf("%d%d%d%d",&x,&y,&z,&w);
....
}
我写的函数是:
int valid(int n)
{
int x,y,z,w;
if(x==y || x==z || x==w)
{ printf("Invalide number.Please try again!\n");
return 0;}
else if(scanf("%d%d%d%d",x,y,z,w)!=N_DIGITS)
{ printf("Invalide number.Please try again!\n");
return 0;}
else if(x<=0 || y<=0 || z<=0 || w<=0)
{ printf("Invalide number.Please try again!\n");
return 0;}
else
return 1;
但是因为固定要用的函数是int valid(int n),也就是说一次只能读一个数字?
那我应该怎么写这个函数?
如果我输入的数字是 1234,那么 x就是1, y就是2,z 是3,w是4.
N_DIGITS=4
还是说我不应该用这个方法做? 展开
main()
{
....
print("input: ”); //输入一个四位数
scanf("%d%d%d%d",&x,&y,&z,&w);
....
}
我写的函数是:
int valid(int n)
{
int x,y,z,w;
if(x==y || x==z || x==w)
{ printf("Invalide number.Please try again!\n");
return 0;}
else if(scanf("%d%d%d%d",x,y,z,w)!=N_DIGITS)
{ printf("Invalide number.Please try again!\n");
return 0;}
else if(x<=0 || y<=0 || z<=0 || w<=0)
{ printf("Invalide number.Please try again!\n");
return 0;}
else
return 1;
但是因为固定要用的函数是int valid(int n),也就是说一次只能读一个数字?
那我应该怎么写这个函数?
如果我输入的数字是 1234,那么 x就是1, y就是2,z 是3,w是4.
N_DIGITS=4
还是说我不应该用这个方法做? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询