求在a数组中到不在b数组中的,然后放在c中,答案为啥不对啊?

img

if(j>=3); 这个分号去掉就行了。有帮助的话麻烦给个采纳,谢谢。

有点难以理解题目的意思


#include<bits/stdc++.h>
using namespace std;
//这是C++的输入可以不用管,下面我用C的语法来写
//建议把数组定义在主函数外面,数组定义在堆区可以定义的更大
//并且将数组初始化(整型数组初始化为0),在主函数内定义数组且未初始化会随便赋值给数组元素

int a[5] = {1,2,3,4,5},b[3] = {1,2,3};
int c[10];
int t;//t初始化为0
int main()
{
    
    for(int i = 0;i < 5;i++)
    {
        int flag = 0;
        for(int j = 0;j < 3;j++)
        {
            if(a[i] == b[j])
            {
                flag = 1;
                break;
            }
        }
        if(!flag) c[++t] = a[i];    
    }
    for(int i = 1;i <= t;i++)
        printf("%d ",c[i]);
    
    return 0;
}

写的比较烦,测试过了可以解决你的问题,如果还有什么问题,可以再问。