杭电2034,急求大侠帮帮菜鸟查错,只要说出错误在哪里?(编译正确,提交为w...

发布网友 发布时间:2小时前

我来回答

1个回答

热心网友 时间:1小时前

#include "stdio.h"
int main()
{
int n,m,i,j,t,y;
int a[101],b[101];
while (scanf("%d%d",&n,&m)!=EOF)
{
t=0;
if(n==0&&m==0)break;
if(n==0&&m!=0)printf("NULL");
for(i=0;i<n;i++)
printf("请输入a[%d]的值",i);
scanf("%d",&a[i]);
for(j=0;j<m;j++)
printf("请输入b[%d]的值",i);
scanf("%d",&b[j]);
for(i=0;i<n;i++)
for(j=0;j<m;j++) //数组下表相同时,如果其值相同,把a数组a的元素赋为0.
{
if (a[i]==b[j])
{
a[i]=0;break;
}
}
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
if (a[i]>a[j+1])
{
y=a[i];a[i]=a[i+1];a[i+1]=y; //您少了一个花括号, 将他们排序对吧。!?
}
}

for(i=0;i<n;i++)
{
if (a[i]!=0)
printf("%d ",a[i]);
else
{
t++;
if(t==n)
printf("NULL");
}
}
putchar('\n');
}
return 0;
}
虽然我还有一点不太懂你前面while判断是干嘛用的,但后面的句子我分析了一下,应该是这样了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com