讨论 / 求助:求C++源代码
cyc 2009-05-01 22:25:00
点我顶贴 收藏 删除
本人正在学C++

求第一题的C++源代码

希望能把格式写清楚一点

#1 renqing@2008-06-29 18:14:00
回复 删除
我给你说一下算法吧,就是先判重,然后再统计一遍非重复的数字的个数,然后printf或者cin
#2 goleenuoer@2008-06-30 09:38:00
回复 删除
我是pascal的,输出应该是printf或者cout吧~~~cin我MS记得是读入~~
#3 gezi1413@2008-08-05 20:27:00
回复 删除
#include <iostream.h>

int main()

{

int a[1001],n,t,i,q;

memset(a,0,sizeof(a));

cin >> n;

q=n;

for(i=1;i<=n;i++)

{

cin >> t;

a[t]++;

if(a[t]>1)

q--;

}

cout << q << endl;

for(i=1;i<=1000;i++)

if (a[i])

cout << i << " ";

return 0;

}

#4 cockroach@2008-10-24 07:20:00
回复 删除
#include<iostream>

using namespace std;

int main()

{int n,i,j,a[1001]={0},s=0;

cin>>n;

for(i=1;i<=n;i++)

{cin>>j;

a[j]=1;

}

for(i=1;i<=1001;i++)

if(a[i]==1)

s=s+1;

cout<<s<<endl;

for(i=1;i<=1001;i++)

if(a[i]==1)

cout<<i<<’ ’;

return 0;

}

比楼上饭烦了一点。。。。。。

不过很清楚

#5 飞雪天涯@2008-10-24 07:44:00
回复 删除
#include<fstream>

#include<iostream>

#define MAXRAND 1000

using namespace std;

#define fin cin

#define fout cout

//ifstream fin ("random.in");

//ofstream fout ("random.out");

int main (void)

{

int n,bucket[MAXRAND+1]={0},amount=0;

fin>>n;

for (int i=0;i<n;i++){

int temp;

fin>>temp;

bucket[temp]++;

}

for (int i=0;i<=MAXRAND;i++)

if (bucket[i]>0)

amount++;

fout<<amount<<endl;

for (int i=0;i<=MAXRAND;i++)

if (bucket[i]>0)

fout<<i<<’ ’;

fout<<endl;

return 0;

}

#6 Corner@2008-10-25 17:05:00
回复 删除
#include "stdio.h"

#define MAX 101

int n,m,a[MAX],min,j,i,k=0;

int read(){

scanf( "%d", &n );

for( int i=1; i<=n; i++ )

scanf( "%d", &a[i] );

return 48;

}

int write(){

printf( "%d\n", k );

for( i=1; i < n; i++ )

if( a[i] !=a [i+1] ) printf( "%d ", a[i] );

printf( "%d\n", a[n] );

return 48;

}

int find(){

int c;

j=m;

for( i = m+1; i <= n; i++ )

if( a[i] < min ) { min = a[i]; j = i; }

c = a[j]; a[j] = a[m]; a[m] = c;

m++;

if( m < n ) { min = a[m]; find(); }

else return 48;

}

int main(){

read();

min = a[1];

m = 1;

find();

for( i=1; i <= n; i++ )

if( a[i] != a[i+1] ) k++;

write();

return 48;

}

#7 飞雪天涯@2008-11-12 07:47:00
回复 删除
#include<iostream>

#define MAXRAND 1000

using namespace std;

#define fin cin

#define fout cout

//ifstream fin ("random.in");

//ofstream fout ("random.out");

int main (void)

{

int n,bucket[MAXRAND+1]={0},amount=0;

fin>>n;

for (int i=0;i<n;i++){

int temp;

fin>>temp;

bucket[temp]++;

}

for (int i=0;i<=MAXRAND;i++)

if (bucket[i]>0)

amount++;

fout<<amount<<endl;

for (int i=0;i<=MAXRAND;i++)

if (bucket[i]>0)

fout<<i<<’ ’;

fout<<endl;

return 0;

}

#8 飞雪天涯@2008-11-12 07:56:00
回复 删除
我桶排序得满分!!!
#9 wxspll@2008-12-01 06:03:00
回复 删除
#include <iostream>

#include <set>

using namespace std;

#ifdef WIN32

#define for if(0);else for

#endif

int main()

{

int n, t;

set<int> si;

cin >> n;

for (int i = 0; i < n; i++)

{

cin>> t;

si.insert(t);

}

cout << si.size() << endl;

cout << *si.begin();

si.erase(*si.begin());

while (!si.empty())

{

cout << " " << *si.begin();

si.erase(*si.begin());

}

cout << endl;

return 0;

}

#10 肥猫@2008-12-31 20:33:00
回复 删除
#include<iostream>

using namespace std;

int main()

{

int count;//输入

cin>>count;

int *a=new int[count];

int Index=0;

while(Index!=count)

{

cin>>a[Index++];

}

int temp;

for(int i=0;i<count;i++)//排序

{

for(int j=i+1;j<count;j++)

{

if(a[j]<a[i])

{

temp=a[j],a[j]=a[i];a[i]=temp;

}

}

}

int tempCount=count;//算个数

for(int i=1;i<count;i++)if(a[i]==a[i-1])tempCount--;

cout<<tempCount<<endl;

cout<<a[0]<<’ ’;//输出

for(int i=1;i<count;i++)if(a[i]!=a[i-1])cout<<a[i]<<’ ’;

cout<<endl;

delete []a;

return 0;

}

查看更多回复
提交回复