#include<stdio.h> #include<stdlib.h> //采用新建数组方法,也可直接使用输出,改改语句就可以,这里采用新建数组,便于对新数据进行其他操作 int main(){ int* arr;//数组 int* new_arr; int n=0;//个数 int k=0; scanf("%d",&n); arr=(int *)malloc(sizeof(int)*(n+1));//根据n的大小来规定数组的大小 new_arr=(int *)malloc(sizeof(int)*(n+1)); for(int i=0;i<n;i++){//输入数组 scanf("%d",&arr[i]); } new_arr[k++]=arr[0];//赋值第一位,第0位必须赋值,不然不能和之前的数比较 int flag=0; for(int i=1;i<n;i++){//从第二位开始 flag=0;//需要手动设置开关为关 for(int j=0;j<i;j++){ //第i位之前的数 if(arr[i]==arr[j]){//有与当前数相等 flag=1;//开关打开 break; } } if(flag!=1){//开关关闭时赋值 new_arr[k++]=arr[i]; } } //打印新数组 for(int i=0;i<k;i++){ printf("%d ",new_arr[i]); } return 0; }