文章

18

粉丝

0

获赞

3

访问

4.7k

头像
二元组整数 题解:求助通过率33%
P1024 贵州大学机试题
发布于2024年3月5日 16:56
阅读数 711

#include<stdio.h>
#include<stdlib.h>
void swap(int* a, int* b) {
	int temp = 0;
	temp = *a;
	*a = *b;
	*b = temp;
}
void BubbleSortUp(int* array, int length)//冒泡排序
{
	for (int i = 0; i < length - 1; i++) {
		for (int j = i + 1; j < length; j++) {
			if (array[i] > array[j]) {
				swap(&array[i], &array[j]);
			}
		}
	}
}
int main() {
	int n;
	scanf("%d", &n);
	int length = n;//记录长度
	int x,k=0;
	int* data = (int*)malloc(sizeof(int) * n);

	for (int i = 0; i < n; i++) {
		int index = 1;//检测是否重复
		scanf("%d", &x);
		
		for (int j = 0; j < i; j++) {
				if (x == data[j]) {
					length--;//有重复的长度-1
					index = 0;
					break;
				}
		}
		
		if (index) data[k++] = x;
	}
	BubbleSortUp(data, length);//排序
	for (int i = 0; i < length; i++) {
		for (int j = 0; j < length; j++) {
			if (i == j) continue;//看成二维数组,坐标是在对角线则不输出
			printf("(%d,%d)\n", data[i], data[j]);
			
		}
	}
	return 0;
}

考虑到存在...

登录查看完整内容


登录后发布评论

7 条评论
snake
2024年3月5日 19:37

重复数据的处理有问题

4

1 2 1 2

赞(0)

xjnotywlq : 回复 snake: 我也是,感谢!

2024年3月8日 20:58

zx142407789 : 回复 snake: 这组数据我的输出是 (1,2) (2,1) 正确的输出应该是多少呀

2024年3月12日 13:50

snake : 回复 zx142407789: 还有(1,1)(2,2)

2024年3月12日 15:15

zx142407789 : 回复 snake: 明白了,谢谢

2024年3月12日 19:07

FIVEszc : 回复 snake: (1,1)(2,2)不是就重复了吗

2024年3月15日 20:33

FIVEszc : 回复 FIVEszc: 明白了明白了

2024年3月15日 20:36