解题思路:先排序,然后再删除重复的数据,排序可以用C++中STL的sort函数,非常方便。
注意事项:
参考代码:
#include <bits/stdc++.h> using namespace std; int main() { int i,n,k; int a[105]; scanf("%d",&n); for(i=0;i<n;i++) //输入 scanf("%d",&a[i]); sort(a,a+n); //排序 k=0; for(i=1;i<n;i++) //删除重复数据 if(a[k]!=a[i]) //注意当a[k]与a[i]不相等时,就把后面覆盖前面 { k++; //k控制新的下标,也就是删除重复数字之后的下标 if(k!=i) a[k]=a[i]; } printf("%d\n",k+1); for(i=0;i<k+1;i++) //输出 printf("%d ",a[i]); return 0; }
0.0分
0 人评分