我每个数比较第一位做的,但是有错,求助
查看原帖
我每个数比较第一位做的,但是有错,求助
1482375
cikc楼主2024/10/9 22:56
#include<bits/stdc++.h>
using namespace std;
int b[23],pd[23],a[23],c1,d1,num;
void asd(int x,int y){
	int c,d;
	if(num==1)c=b[x]%(10^c1),d=a[y]%(10^d1);
	else c=b[x],d=a[y];
	c1=0;
	d1=0;
	while(c>9){
		c/=10;
		c1++;
	}
	while(d>9){
		d/=10;
		d1++;
	}
	if(c<d)b[x]=a[y],pd[y]=1,pd[x]=0;
	if(c==d){
		asd(x,y);
		num=1;
	}
	
}
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	sort(a+1,a+1+n);
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(pd[j]!=1){
				asd(i,j);
				num=0;
			}
		}
	}
	for(int i=1;i<=n;i++){
		cout<<b[i];
	}
}
2024/10/9 22:56
加载中...