俺油来问问题力

还是RE

1 个赞
   while(scanf("%d",&a[i])){ //输入a 
		if(a[i]==-1)
		  break;
		i++;
	}
        //i++;
	while(scanf("%d",&a[i])){ //将输入的第二个数组加到a后面 
		if(a[i]==-1)
		  break;
		i++;
	}
	sort(a,a+i,cmp); //库函数sort进行从大到小排序 
	for(int j=0;j<(i-1);j++) //遍历输出 
	  cout<<a[j]<<" ";
1 个赞

完整代码发一下 @梅宇轩

2 个赞
#include<bits/stdc++.h>
using namespace std;
int a[100005];
int cmp(int a,int b){  
	return a>b; 
}
int main(){
  for(int i=1; ;i++){
    while(scanf("%d",&a[i])){
		if(a[i]==-1)
		  break;
		i++;
	}
	while(scanf("%d",&a[i])){ 
		if(a[i]==-1)
		  break;
		i++;
	}
	sort(a,a+i,cmp); 
	for(int j=0;j<(i-1);j++) 
	  printf("%d",a[j]);
  }
  return 0;
}
2 个赞

这用while

不然就是死循环

1 个赞

在加个memset(a,0,sizeof(a));

1 个赞

谢谢A了

2 个赞