题解 | #序列中整数去重#
序列中整数去重
https://www.nowcoder.com/practice/6564a2f6e70f4153ad1ffd58b2b28490
#include <stdio.h> int main() { int n = 0; scanf("%d", &n); int arr[1000] = {0}; int i = 0; for ( i = 0; i < n; i++) { scanf("%d", &arr[i]); } for (i = 0; i < n; i++) { int j = 0; for (j = i + 1; j < n; j++) { //先找出相同的元素 //如果相等,要把后续元素往前移动 if (arr[i] == arr[j]) { int k = 0; for (k = j; k < n - 1; k++) { arr[k] = arr[k + 1]; } n--;//去重一个,个数少1 j--; //如果去重了arr[j] //把下一个位置的数字arr[j+1],放在新的arr[j]上 //恰好又和arr[i]相同,所以也要再判断 //3 2 3 3 3 4 5 // } } } for (i = 0; i < n; i++) { printf("%d ", arr[i]); } return 0; }
c语言刷题 文章被收录于专栏
c语言刷题题目