题解 | #序列中整数去重#
序列中整数去重
https://www.nowcoder.com/practice/6564a2f6e70f4153ad1ffd58b2b28490
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdbool.h> #define N 1000 int main() { int n = 0; while (1 == scanf("%d", &n)) { // 判断数据是否相等的标志 bool sameflag = false; int arr[N] = { 0 }; // 输入数据 for (int i = 0; i < n; i++) { scanf("%d", arr + i); } printf("%d ", *arr); for (int i = 1; i < n; i++)// 从数组的第二个元素开始遍历 { // 从后往前依次比较,从当前数组元素的值即arr[i] - 1开始 int j = 0; for (j = i - 1; j >= 0; j--) { if (*(arr + i) == *(arr + j)) { // 数据相等则标志变量置为真值 sameflag = true; break;// 跳出循环 } } if (!sameflag) { // 如果遍历完后存在不相等的情况,则打印arr[i] printf("%d ", *(arr + i)); } // 每执行完一次外层循环,标志变量置为假 sameflag = false; } } return 0; }