NOIP 2006 普及组 复赛 random 明明的随机数
1.本题考查排序,因<=100,采用写法比较简单的冒泡排序。
附上AC代码,编译环境Dev-C++4.9.9.2
#include <stdio.h>
int main(){
int n;
int i,j,t;
int a[100+10];
int b[100+10];
int count;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)//冒泡排序,自小到大
for(j=i+1;j<n;j++)
if(a[i]>a[j]){
t=a[i];
a[i]=a[j];
a[j]=t;
}
count=1;
b[0]=a[0];
for(i=1;i<n;i++)
if(b[count-1]!=a[i])
b[count++]=a[i];
printf("%d\n",count);
printf("%d",b[0]);
for(i=1;i<count;i++)
printf(" %d",b[i]);
printf("\n");
return 0;
}