题目描述
给定含有n个整数的序列,要求对这个序列进行去重操作。所谓去重,是指对这个序列中每个重复出现的数,只保留该数第一次出现的位置,删除其余位置。
输入
多组测试数据; 对于每组数据: 输入包含两行; 第一行包含一个正整数n(1 <= n <= 20000),表示第二行序列中数字的个数; 第二行包含n个整数,整数之间以一个空格分开。每个整数大于等于10、小于等于100。输出
每组数据输出只有一行,按照输入的顺序输出其中不重复的数字,整数之间用一个空格分开。样例输入
5 10 12 93 12 75样例输出
10 12 93 75#include<stdio.h> int main() { int n; while (scanf("%d", &n) != EOF) { int i; int a[20001]; for (i = 0; i < n; i++) { scanf("%d", &a[i]); } for (i = 0; i < n; i++) { int j; if (a[i] > 0) { for (j = i + 1; j < n; j++) { if (a[i] == a[j]) { a[j] = 0; } } } } for (i = 0; i < n; i++) { if (a[i] > 0) { if (i == 0) { printf("%d", a[i]); } else { printf(" %d", a[i]); } } } printf("\r\n"); } return 0; }
SWUST OJ1190: 整数去重
最新推荐文章于 2023-08-06 22:05:51 发布