首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于连续不等于的有关问题

2013-04-07 
关于连续不等于的问题有很多个数大概9个 他们都不相等 执行循环 只能a!b&&a!c&&a!d&&a!e......b!c&&b

关于连续不等于的问题
有很多个数  大概9个 他们都不相等 执行循环 只能a!=b&&a!=c&&a!=d&&a!=e......b!=c&&b!=d&&b!=e...一直到最后吗 这是有多麻烦啊 怎么才能简化一下啊 
[解决办法]
可变参数或数组


//可变参数
#include <stdarg.h>

bool ne(int cnt, ...)
{
  int a, b;
  va_list ap;
  va_start(ap,cnt);
  //at least two
  if(cnt > 1)
  {
   
    for(a = va_arg(ap, int), b = va_arg(ap,int), cnt -= 2;cnt > 0; --cnt, a = b,b = va_arg(ap,int))
    {
      if(a == b) return false;
    }
    //all are not equal
    return true;
  }
  va_end(ap);
  return false;
}

int main()
{
  int a = 1, b = 2, c = 3,d = 4,e = 0;
  bool r = ne(5, a,b,c,d,e);
  r = ne(10, a,b,c,d,e, 6, 7, 8, 9, 10);
  return 0;
}

热点排行