#include<iostream>
using namespace std;
int main()
{
int n;
int num[1001]={0},k;
int result=0;
int i;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>k;
if(num[k]==0) result++;
num[k]++;
}
cout<<result<<endl;
for(i=1;i<=1000;i++)
if(num[i]) cout<<i<<" ";
cout<<endl;
return 0;
}
using namespace std;
int a[105];
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
sort(a+1,a+1+n);
int s=unique(a+1,a+1+n)-a-1;
cout<<s<<endl;
for(int i=1;i<=s;i++)cout<<a[i]<<" ";
return 0;
}
只要十三行
#include <iostream>
using namespace std;
int a[101],N,count=0;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void radix_sort(int*a,int len,int max){
int*b =new int[max+1];//1创建临时数组,数组大小取决于待排元素中最大元素的值。
for(int i=0;i<=max;i++) b[i]=-1;// 2初始化临时数组
for(int i=0;i<len;i++) b[a[i]]=a[i];//3 排序
for(int i=0;i<=max;i++) if(b[i]!=-1) count++;
cout<<count<<endl;
for(int i=0;i<=max;i++) if(b[i]!=-1) cout<<b[i]<<" ";
}
int main(int argc, char** argv) {
cin>>N;
for(int i=0;i<N;i++) cin>>a[i];
radix_sort(a,N,1000);
return 0;
}
n,i,x,sum:longint;
a:array[1..1000] of longint;
begin
readln(n);
for i:=1 to n do
begin
read(x);
if a[x]=0 then inc(sum);
inc(a[x]);
end;
writeln(sum);
for i:=1 to 1000 do
if a[i]<>0 then write(i,' ');
end.
#include<iostream>
#include<cstdlib>
#include<ctime>
{
int a;
srand(time(0));
a = rand*100+1;
cout<<a;
return 0;
}