[2006年NOIP普及组] 明明的随机数

1. [2006年NOIP普及组] 明明的随机数

l  分析:根据题意,设置一个标记数组和一个计数器,用for语句将数过一遍,将第一次出现的数标记为一,计数器加一,输出计数器就是不同随机数的个数,再用for语句将指定范围内的数过一遍,将其中已标记的数输出。

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cstring>
 4 using namespace std;
 5 int main()
 6 {
 7     int n,a,b[1005],s=0;//b为 
 8     cin>>n;
 9     memset(b,0,sizeof(b));
10     for(int i=1;i<=n;i++)
11     {    
12         cin>>a;
13         if(b[a]==0) s++;//第一次出现,计数器累加 
14         b[a]=1;//标记上 
15     }
16     cout<<s<<endl;
17     for(int i=0;i<=1000;i++)//在指定范围内过一遍数 
18      if(b[i]==1) cout<<i<<" ";//已标记的输出 
19     return 0;
20  } 

 

posted @ 2022-08-12 21:20  4lovls  阅读(46)  评论(0)    收藏  举报