社区讨论

定义交换函数,遍历数组进行交换,只拿了25分,求教

P1012[NOIP 1998 提高组] 拼数参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lo323x4e
此快照首次捕获于
2023/10/23 23:32
2 年前
此快照最后确认于
2023/10/23 23:32
2 年前
查看原帖
C
#include<bits/stdc++.h>
using namespace std;
void change(int &a,int &b){
	int a0=a,b0=b;
	if(a0/10!=0)
	a0/=10;
	if(b0/10!=0)
	b0/=10;
	if(a0<b0)
	swap(a,b);
	//a0,b0存放数字首位,比较大小进行交换
}
int main()
{
	int n,i,j,k;
	cin>>n;
	int* a=new int[n];
	for(i=0;i<n;i++){
		cin>>a[i];
	}
	for(j=0;j<n-1;j++){
		for(k=j+1;k<n;k++){
			change(a[j],a[k]);
		}
	}//遍历交换
	for(i=0;i<n;i++)
	cout<<a[i];//输出
	}

回复

3 条回复,欢迎继续交流。

正在加载回复...