HDOJ2034(为毛别人AC 我WA)

本文介绍了一个C++程序案例,该程序用于对比两个整数数组,并找出第一个数组中不在第二个数组中存在的元素。通过使用标准模板库(STL)中的sort()函数进行排序,并遍历数组来实现功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//正确的

#include<iostream>
#include<algorithm>//sort()函数包含在algorithm头文件里面 
using namespace std;

int main(){
    //freopen("input.txt","r",stdin);
    //freopen("output.txt","w",stdout);
    int n,m,i,j,count;
    bool test;
    int a[100],b[100];
    while(scanf("%d%d",&n,&m)!=EOF){
            if(n==0&&m==0)
               return 0;
            for(i=0;i<n;i++)
               scanf("%d",&a[i]);
            
            for(i=0;i<m;i++)
                scanf("%d",&b[i]);
                
                sort(a,a+n);//第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址。默认是升序 
                count=0;//count用来记录a,b数组里面相同元素的个数 
            for(i=0;i<n;i++){
                test=true;
                for(j=0;j<m;j++)
                        if(a[i]==b[j]){
                               test=false;
                               break;        
                                       } 
                if(test){ //只有在数组b中没有与a[i]相同元素时才输出a[i] 
                   printf("%d ",a[i]);
                   count++;
                   }
            }
                if(count==0)//如果相同元素个数为0,则输出NULL 
                    printf("NULL");
                    printf("\n");          
                                 
            }
    
    return 0;
    }

//错误的

/*

#include <iostream> 
#include <cstring>
#include <string>
#include <cstdio>
#include <algorithm>
#include <stack>
#include <math.h>


using namespace std;
#define N 110


int a[N];
int b[N];


int main()
{
int n, m;
while (cin >> n >> m, n, m)
{
for (int i = 0; i < n; i++) cin >> a[i];
for (int i = 0; i < m; i++) cin >> b[i];
sort(a, a + n);
int c = 0;
for (int i = 0; i < n; i++)
{
int f = 1;
for (int j = 0; j < m; j++)
if (a[i] == b[j])
{
f = 0;
break;
}
if (f)
{
cout << a[i] << " ";
c++;
}
}
if (!c) cout << "NULL";
cout << endl;
}
return 0;
}

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值