首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

杭电2034.哪个大侠愿意看看丫。灰常感谢解决办法

2012-04-17 
杭电2034.哪个大侠愿意看看丫。灰常感谢杭电2034#includestdio.hint main(){int m,n,i,j,k0,c[100]whil

杭电2034.哪个大侠愿意看看丫。灰常感谢
杭电2034
#include<stdio.h>
int main()
{
  int m,n,i,j,k=0,c[100];
   
  while(scanf("%d%d",&m,&m)!=EOF)
  {
  if(m==0||n==0)
{
printf("NULL\n");
break;
}
else 
{
k=0;
  int a[100],b[100];
  for(i=0;i<m;i++)
  scanf("%d",&a[i]);
  for(j=0;j<n;j++)
  scanf("%d",&b[j]);
   
  if(m<=n)
{
  for(i=0;i<m;i++)
{
  for(j=0;j<n;j++)
{
  if(a[i]!=b[j])
  c[k]=a[i];
  k++;  
  }  
}
   
  if(k==0)
  printf("NULL\n");
  else
{
  for(i=0;i<k-1;i++)
  printf("%d ",c[i]);
  printf("%d\n",c[i]);  
}  
  }  
   
   
   
  else
{
  for(i=0;i<n;i++)
  {
  for(j=0;j<n;j++)
  if(a[i]!=b[j])
  {
  c[k]=a[i];
  k++;
  }  
  }
  if(k==0)
  printf("NULL\n");
  else
  {
  for(i=0;i<k;i++)
  printf("%d ",c[i]);
  for(i=n;i<m;i++)
  printf("%d ",a[i]);
  printf("%d\n",a[i]);
}  
   
}  
   
  }
   
  }
  return 0;
  }


[解决办法]
排序 然后简单的匹配就行啦
[解决办法]

C/C++ code
#include <stdio.h>#include <string.h>#include <stdlib.h>int cmp(const void *pa,const void *pb){    return *(int *)pa - *(int *)pb;}int main(){    int n,m,a[101],b[101],i,j,sum;    while (scanf("%d%d",&m,&n) && m+n)    {        bool foot[101] = {0};        for(i = 0;i<m;scanf("%d",&a[i++]));        for(j = 0;j<n;scanf("%d",&b[j++]));        for(i = 0;i<m;i++)            for(j = 0;j<n;j++)                if(a[i] == b[j])                {                    foot[i] = true;                    break;                  }        bool flag = false;        for(sum = 0,i = 0;i<m;i++)            if(!foot[i])            {                a[sum++] = a[i];                if(!flag){flag = true;}                            }        qsort(a,sum,4,cmp);        for(i = 0;i<sum;printf("%d ",a[i++]));        flag?printf("\n"):printf("NULL\n");    }    return 0;} 


[解决办法]
#include<iostream>
using namespace std;
int cmp(const void *a,const void *b)
{
return (*(int *)a - *(int *)b);
}
int main()
{
int n,m,a[100],b[100],c[100],i,j,k,t;
while(cin>>n>>m && m!=0 || n!=0)
{
t=0;
for(i=0;i<n;i++)
cin>>a[i];
for(i=0;i<m;i++)
cin>>b[i];
for(i=0;i<n;i++)
{
k=0;
for(j=0;j<m;j++)
if(a[i]==b[j])
{
k=1;
break;
}
if(k==0)
{
c[t]=a[i];
t++;
}
}
qsort(c,t,sizeof(c[0]),cmp);
if(t!=0)
{
for(i=0;i<t;i++)
cout<<c[i]<<" ";
cout<<endl;
}
else
cout<<"NULL"<<endl;
}
return 0;
}
好久没去acm咯
[解决办法]
while(scanf("%d%d",&m,&n)!=EOF)//改while(scanf("%d%d",&m,&m)!=EOF)
{
if(m==0||n==0)
{
//删除printf("NULL\n");
break;
}
以上改的只是2个小错误.LZ还要修改算法.

热点排行