谦虚


私信TA

用户名:jerryjames

访问量:12425

签 名:

等  级
排  名 1215
经  验 3088
参赛次数 6
文章发表 22
年  龄 12
在职情况 学生
学  校 滨海小学
专  业 c++

  自我简介:

c++小萌新

解题思路: 先判断在交换

注意事项: 有2行,第1行为1个正整数,表示所生成的随机数的个数:N;第2行有N个用空格隔开的正整数,为所产生的随机数。


参考代码: 

#include using namespace std;
int main()
{
	int n;
	cin >> n;
	bool* flag = new bool[n];
	int* num = new int[n];
	for (int i = 0; i < n; i++)
	{
		cin >> num[i];
		flag[i] = true;
	}
	for (int i = 0; i < n; i++)
	{
		for (int j = i + 1; j < n; j++)
		{
			if (num[i] == num[j])
			{
				flag[j] = false;
			}
		}
	}
	int sum = 0;
	for (int i = 0; i < n; i++)
	{
		if (flag[i])
		{
			sum++;
		}
	}
	cout << sum << endl;
	for (int i = 0; i < n - 1; i++)
	{
		for (int j = 0; j < n - i - 1; j++)
		{
			if (num[j] > num[j + 1])
			{
				int temp = num[j];
				num[j] = num[j + 1];
				num[j + 1] = temp;
				bool temp1 = flag[j];
				flag[j] = flag[j + 1];
				flag[j + 1] = temp1;
			}
		}
	}
	for (int i = 0; i < n; i++)
	{
		if (flag[i])
		{
			cout << num[i] << " ";
		}
	}
	return 0;
}


 

0.0分

7 人评分

  评论区

  • «
  • »