作者在 2011-03-24 12:32:21 发布以下内容
/*请编写程序, 该程序的功能是:对于一维整型数组,输入数组元素, 并删去数组中所有相同的数,
使各个元素均不相同。
思路:把数组中元素按顺序排列(如从小到大),然后进行操作。*/
#include<iostream>
#define num 6
using namespace std;
使各个元素均不相同。
思路:把数组中元素按顺序排列(如从小到大),然后进行操作。*/
#include<iostream>
#define num 6
using namespace std;
void sort(int a[],int n);
int fun(int a[],int n);
int main()
{
int i,n,a[num];
for(i=0;i<num;i++)
cin>>a[i];
cout<<endl<<"************"<<endl;
sort(a,num); //排列数组
for(i=0;i<num;i++)
cout<<a[i]<<" "; //输出排列后的数组
cout<<endl<<"************"<<endl;
n=fun(a,num); //筛选不同元素,并把元素个数赋给n
int fun(int a[],int n);
int main()
{
int i,n,a[num];
for(i=0;i<num;i++)
cin>>a[i];
cout<<endl<<"************"<<endl;
sort(a,num); //排列数组
for(i=0;i<num;i++)
cout<<a[i]<<" "; //输出排列后的数组
cout<<endl<<"************"<<endl;
n=fun(a,num); //筛选不同元素,并把元素个数赋给n
for(i=0;i<n;i++)
cout<<a[i]<<" "; //输出筛选后的元素
return 0;
}
//下面的函数把数组从小到大排列
void sort(int *a,int n)
{
int i,j,tmp;
for(i=0;i<n-1;i++)
for(j=0;j+1<n-i;j++)
if(a[j]>a[j+1])
{
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
cout<<a[i]<<" "; //输出筛选后的元素
return 0;
}
//下面的函数把数组从小到大排列
void sort(int *a,int n)
{
int i,j,tmp;
for(i=0;i<n-1;i++)
for(j=0;j+1<n-i;j++)
if(a[j]>a[j+1])
{
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
//下面的函数选出各个不同的元素,并返回整理后的数组元素个数
int fun(int *a,int n)
{
int temp,i,j=0;
temp=a[0];
for(i=1;i<n;i++)
{
if(a[i]==temp)
continue;
else a[++j]=a[i];
temp=a[i];
//下面的函数选出各个不同的元素,并返回整理后的数组元素个数
int fun(int *a,int n)
{
int temp,i,j=0;
temp=a[0];
for(i=1;i<n;i++)
{
if(a[i]==temp)
continue;
else a[++j]=a[i];
temp=a[i];
}
return j+1;
return j+1;
}
(我学的是C,这几天读了一些有关C++的知识,发现用他写程序要简便一些,所以就以C++写了这段代码
希望对路人有帮助)