请问我写代码有什么问题,为什么结果输出是错误的

我的代码;
#include
int main(){
int A,B,C;
scanf("%d+||-||/||%d==%d",&A,&B,&C);
if(A+B==C||A-B==C||A
B==C||A/B==C){
printf("GOOD!");
}else if(A+B==C||A-B==C||A*B==C||A/B!=C){
printf("SORRY!");
}
return 0;
}
任务描述
读入一道形如A+B=C的四则运算题,正确则输出"GOOD!",错误输出"SORRY!"。

其中两个运算数为1到100范围以内的随机整数,运算符为加减乘除四种运算之一。

输入格式:
一个算式中间没有空格。

输出格式:
GOOD!或者SORRY!

输入样例:
56+23=79
输出样例:
GOOD!
输入样例:
45/21=3
输出样例:
SORRY!

第一个问题:scanf使用错误,你写的||符号它是不认的,你输入的就只是&后的变量,所以我们直接就写一个表达式(详见下面)
第二个问题:比较错误,你想让输入的跟你预想的正确结果进行比较,如果正确就输出good,错误就输出sorry,可是这里需要解决的问题是怎么把你输入的表达式进行比较呢,我们其实比较的就是一个结果,那我们就把正确的结果单独算出来再与你写的表达式结果进行比较。你的问题主要是想着整个表达式进行比较了,其实并不需要,我们只需要比较结果,详见代码

#include<stdio.h>
int main() {
    int a, c,e,sum,sub,div,mul;
    char b,d;       //b和d表示符号                  
    printf("随机输入一个A+B形式的四则运算");
    scanf("%d%c%d%c%d", &a, &b,&c, &d,&e);   //读入数据;
    sum = a + c;
    sub = a - c;
    div = a / c;
    mul = a * c;
    if ( sum==e || sub==e || div==e || mul==e) {
        printf("GOOD!");
    }
    else {
        printf("SORRY!");
    }
    return 0;
}

scanf("表达式"),表达式怎么写的,输入时就要怎么输入。所以你表达式写成那样,是准备怎么样输入?
你应该把输入当成一个字符串,然后再解析字符串,获取三个数字和运算符,之后才是判断对错。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^