社区讨论

10分,求各位大哥指点

P1059[NOIP 2006 普及组] 明明的随机数参与者 5已保存回复 4

讨论操作

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

当前回复
4 条
当前快照
1 份
快照标识符
@lo2mvfel
此快照首次捕获于
2023/10/23 16:26
2 年前
此快照最后确认于
2023/10/23 16:26
2 年前
查看原帖
C
#include <cstdio>
#include <algorithm>
#include <iostream>
void sort(int *a, int p);

int main() {
	int n, count;
	int i, k = 0, j, temp;
	scanf("%d", &n);
	count = 0;
	int a[n];
	for (i = 0; i < n; i++) {
		scanf("%d", &a[i]);
	}
	sort(a, n);
	for (i = 0; i < n - count - 1; i++) {
		if (a[i] == a[i + 1]) {
			for (k = i; k < n - count - 1; k++) {
				a[k] = a[k + 1];
			}
			count++;
		}
	}
	printf("%d\n", n - count);
	sort(a, n - count);
	for (i = 0; i < n - count; i++) {
		printf("%d ", a[i]);
	}
	return 0;
}

void sort(int *a, int p) {
	int i, j, temp;
	for (i = 0; i < p - 1; i++) {
		for (j = 0; j < p - i - 1; j++) {
			if (*(a + j) > *(a + j + 1)) {
				temp = *(a + j);
				*(a + j) = *(a + j + 1);
				*(a + j + 1) = temp;
			}
		}
	}
}

回复

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

正在加载回复...