[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 }

浙公网安备 33010602011771号