C中三个整数之间的比较

时间:2018-09-03 08:51:12

标签: c

如果三个输入彼此不同,我想打印1,或者如果某些输入重复多次,则打印0

这是我的代码:

int main() {
   int a, b, c;
   a = 11;
   b = 22;
   c = 11;

   if(a==b && a==c)
    printf("0");
    else if (b==c)
    printf("0");
   else
    printf("1");

   if (a > b && a>c)
    printf("1");
   else if (b>a && b >c)
    printf("1");
   else if (c>a && c >b)
   printf("1");
   else
    printf("0");

   return 0;

}

3 个答案:

答案 0 :(得分:4)

我会这样:

int different(int a, int b, int c)
{
  return a != b && b != c && a != c;
}

如果所有三个数字都不相同,它将返回1,否则将返回0,这必须表示至少有一对重复项。

像这样使用它:

printf("%d\n", different(11, 22, 11));

将打印:

0

答案 1 :(得分:2)

您可以将代码简化为

 if(a==b || a==c || b==c)
     printf("0");
    else
     printf("1");

答案 2 :(得分:1)

我建议(在玩的时候)

printf("%d\n", !(!!(a - b) * !!(a - c) * !!(b - c)));