判断正整数n的各位数字中是否包含数字3或4

正整数n的各位数字中是否包含数字3或4,是则返回TRUE,否则返回FALSE。

// 判断整数n的各位数字中是否包含数字3或4
bool Valid(int n)
{
    if(1<=n&&n<=9)
 {
  if(n==3||n==4)
  {
   return true;
  }
  else
  {
   return false;
  }
 }
 else if(10<=n&&n<=99)
 {
  int a,b=0;
  a=n/10;
  b=n%10;
  if((a==3)||(b==4)||(a==4)||(b==3))
  {
   return true;
  }
  else
  {
   return false;
  }
 }
 else if(100<=n&&n<=999)
 {
  int a,b,c=0;
  a=n/100;
  b=n/10%10;
  c=n%10%10;
  if((a==3)||(b==3)||(c==3)||(a==4)||(b==4)||(c==4))
  {
   return true;
  }
  else
  {
   return false;
  }
 }
 else if(1000<=n&&n<=9999)
 {
  int a,b,c,d=0;
  a=n/1000;
  b=n/100%10;
  c=n%10%100;
  d=n%10%10%10;
  if((a==3)||(b==3)||(c==3)||(d==3)||(a==4)||(b==4)||(c==4)||(d==4))
  {
   return true;
  }
  else
  {
   return false;
  }
 }
 else if(10000<=n&&n<=99999)
 {
  int a,b,c,d,e=0;
  a=n/10000;
  b=n/1000%10;
  c=n/100%100%10;
  d=n/10%100%10;
  e=n%10%10%10%10;
  if((a==3)||(b==3)||(c==3)||(d==3)||(e==3)||(a==4)||(b==4)||(c==4)||(d==4)||(e==4))
  {
   return true;
  }
  else
  {
   return false;
  }
 }
}

更为简便的方法是一位位判断:

bool Valid(int n)
{
    if (n < 0)
    {
        n = -n;
    }
    while (n > 0)
    {
        if (n % 10 == 3 || n % 10 == 4)
        {
            return true;
        }
        n = n / 10;
    }
    return false;
}
发布了44 篇原创文章 · 获赞 35 · 访问量 803

猜你喜欢

转载自blog.csdn.net/huangziguang/article/details/104448303