明明的随机数,针对初学者。
查看原帖
明明的随机数,针对初学者。
1531473
ld_wuguanyu楼主2024/10/22 17:20

我也是来发一下题解好吧

本题解针对初学者,本身水平不高...... 我的思路是: 因为他说随机数不超过1000吗 然后我就想能不能搞个下标计数,然后用两个循环去求去重后有多少,第二个就是输出去重后的结果。

代码实现:

#include<bits/stdc++.h>
using namespace std;
int n,a[105],x[1005],ans;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		x[a[i]]++;
	}
	sort(a+1,a+1+n);//排序,毕竟从小到大吗
	for(int i=1;i<=1000;i++)
	{
		if(x[i]!=0) ans++;//统计去重后的个数。
	}
	cout<<ans<<endl;
    //遍历整个数组,代码核心
	for(int i=1;i<=n;i++)
	{
		if(x[a[i]]!=0)
		{
			cout<<a[i]<<" ";
			x[a[i]]=0;//因为去重吗,所以每搞完一个就有赋0,已防他输出一模一样就过不了了吗)
		}
	}
	return 0;
} 

//直接搞定拿下!!!

2024/10/22 17:20
加载中...