友友们帮我看看为什么和实际输出不一样呀?

某公司招聘职员,面试资格按如下规则确认,若是“电子信息工程”(英文简称EIE)专业毕业,则必须是25岁以上或者是A类高校毕业;若是“计算机科学与技术”(英文简称CS)专业毕业,则必须是28岁以下。
任务要求:
(1)输入年龄、专业、毕业高校类别,输出是否具有面试资格,有则输出
"Yes”,否则输出“NO”;
(2)高校类别用A、B、C代替;(3)专业使用英文简称表示;(4)年龄用整数表示。

img


是需要修改哪里,或者说友友们可以帮我写一个正确的代码吗?

样例提供少了点,供参考:

#include <stdio.h>
#include <string.h>
int main()
{
    int  age;
    char str1[16], str2[16];
    scanf("%d %s %s", &age, str1, str2);
    if ((strcmp(str1, "EIE") == 0 && (age > 25 || strcmp(str2, "A") == 0)) ||
        (strcmp(str1, "CS")  == 0 && age < 28) )
        printf("YES");
    else
        printf("NO");
    return 0;
}

C++的话,用string代替char[]
C语言的话,不能用==比较字符串,要用 strcmp
if (strcmp(str1, "EIE") == 0) {
...
}

我也不会,做出来了踢我一下


#include <stdio.h>
#include <string.h>
int main(void) {
    int a;
    scanf("%d", &a);
    char b[20],c[20];
    scanf("%s%s", &b, &c);
    if (strcmp(b,"EIE")==0)
    {
        if (strcmp(c,"A")==0 || a>25)
        printf("YES");
        else
        printf("NO");
    }
        else if (strcmp(b,"CS")==0 && a<28)
        printf("YES");
        else
        printf("NO");
    
    return 0;

}