如何比较C中的4个数字?

如何比较C中的4个数字?,c,compare,output,question-answering,C,Compare,Output,Question Answering,我需要一个C程序来比较4个数字。我需要它输出是,如果任何2个或更多的数字是相等的,否则它应该输出否 例如,如果a=1,b=2,c=4,d=4,它应该输出YES,因为c和d是相同的。但若所有的都是彼此不同的,那个么程序应该输出NO 我试过这种方法。 它面临着在线编译器的问题。说“未初始化值用法” if((a!=b)和(a!=c)和(a!=d)和(b!=c)和(b!=d)和(c!=d)` 测试:#1,时间:30毫秒,内存:0 KB,退出代码:0,检查程序退出代码:1,判决:错误(答案 输入 1987

我需要一个C程序来比较4个数字。我需要它输出是,如果任何2个或更多的数字是相等的,否则它应该输出否

例如,如果a=1,b=2,c=4,d=4,它应该输出YES,因为c和d是相同的。但若所有的都是彼此不同的,那个么程序应该输出NO

我试过这种方法。 它面临着在线编译器的问题。说“未初始化值用法”
if((a!=b)和(a!=c)和(a!=d)和(b!=c)和(b!=d)和(c!=d)
`

测试:#1,时间:30毫秒,内存:0 KB,退出代码:0,检查程序退出代码:1,判决:错误(答案

输入
1987
回答
2013
检查日志
错误答案答案包含较长的序列[length=1],但输出包含0个元素
.所以我需要另一个。链接:

#包括
int main()
{
内部a、b、c、d、编号、i、温度;
scanf(“%d”和编号);
int k;
数字+=1;

对于(number;number我不确定我是否遗漏了一些东西,但这些东西是否有用

#include <stdio.h>

char const* compareFour(int a, int b, int c, int d){
    static char const* YES = "YES", *NO = "NO";
    if(a==b || a==c || a==d || b==c || b==d || c==d) {
        return YES;
    } else {
        return NO;
    }
}


int main() {
    printf("%s\n", compareFour(1, 2, 3, 4));
    printf("%s\n", compareFour(1, 2, 3, 3));
    printf("%s\n", compareFour(1, 2, 1, 4));
}

这是多余的。如果(…)
中的条件不匹配,循环将继续。解决这些问题,您的解决方案也会起作用。

发布一个程序,认为a、b、c、d是4个数字。我需要一个程序(没有这个方法-If((a!=b)&(a!=c)&(a!=d)&(b!=c)&(b!=d)&(c!=d)),它将告诉我所有的值是否相等。
If(a==b&&a==c&&a==d)返回1;
?如果
c=d?
“未初始化值用法”会怎么样表示您试图读取一个变量,但没有先给它赋值。如果a=1,b=2,c=4,d=4怎么办?那么它将输出“否”。但它应该是“是”,因为c&d是相同的。@PronaySarker在这种情况下,您可能需要调整您的问题。您完全是在问问题different@PronaySarker然后编辑你的问题以反映你的exa是什么ct要求和示例。这是因为我的英文不好。:(@PronaySarker)这只是一个建议。这是一个编程网站,所以你的期望最好通过输入和输出示例来澄清。无论如何,我已经编辑了答案。看看它是否是你想要的。
#include <stdio.h>

char const* compareFour(int a, int b, int c, int d){
    static char const* YES = "YES", *NO = "NO";
    if(a==b || a==c || a==d || b==c || b==d || c==d) {
        return YES;
    } else {
        return NO;
    }
}


int main() {
    printf("%s\n", compareFour(1, 2, 3, 4));
    printf("%s\n", compareFour(1, 2, 3, 3));
    printf("%s\n", compareFour(1, 2, 1, 4));
}
#include <stdio.h>

int compareFour(int a, int b, int c, int d){
    if(a!=b && a!=c && a!=d && b!=c && b!=d && c!=d) {
        return 1;
    } else {
        return 0;
    }
}
 
int distinctDigits(int year) {
    int num[4] = {0}, idx = 0;
    while(year > 0) {
        num[idx++] = year%10;
        year/= 10;
    }
    return compareFour(num[0], num[1], num[2], num[3]);
}
 
int main() {
    int year;
    scanf("%d", &year);
    year++;
    for(; year < 9876; ++year) {
        if(distinctDigits(year)) {
            printf("%d", year );
            break;
        }
    }
}
else {
    continue;
}