如题所述
第1个回答 推荐于2016-02-26
#include<iostream.h>
#include<iomanip.h>
void main()
{
int i,j,a[6],b[6],temp,e,q,x,y;
for(i=0;i<6;i++)
{
cout<<"请输入数:";
cin>>a[i];
}
e=0;
for(i=0;i<6-e;i++)
{
for(j=1;j<6-i-e;j++)
{
if(a[i]==a[i+j])
{
temp=a[i+j];
a[i+j]=a[5-e];
a[5-e]=temp;
e++;
}
}
}
for(x=0;x<6-e;x++)
{
b[x]=a[x];
}
for(x=0;x<6-e;x++)
for(y=0;y<5-e-x;y++)
{
if(b[y]<b[y+1])
{
q=b[y];
b[y]=b[y+1];
b[y+1]=q;
}
}
for(x=0;x<6-e;x++)
{
cout<<setw(5)<<b[x];
}
cout<<endl;
}本回答被提问者采纳
#include<iomanip.h>
void main()
{
int i,j,a[6],b[6],temp,e,q,x,y;
for(i=0;i<6;i++)
{
cout<<"请输入数:";
cin>>a[i];
}
e=0;
for(i=0;i<6-e;i++)
{
for(j=1;j<6-i-e;j++)
{
if(a[i]==a[i+j])
{
temp=a[i+j];
a[i+j]=a[5-e];
a[5-e]=temp;
e++;
}
}
}
for(x=0;x<6-e;x++)
{
b[x]=a[x];
}
for(x=0;x<6-e;x++)
for(y=0;y<5-e-x;y++)
{
if(b[y]<b[y+1])
{
q=b[y];
b[y]=b[y+1];
b[y+1]=q;
}
}
for(x=0;x<6-e;x++)
{
cout<<setw(5)<<b[x];
}
cout<<endl;
}本回答被提问者采纳
第2个回答 2009-04-23
笨办法:从数组头开始遍历。判断从[0]到当前[i],是否有值和[i]的值相等。
如果有,就把当前[i]删除,然后依次把后面的前移。
如果没有,继续判断[i+1]。
如果有,就把当前[i]删除,然后依次把后面的前移。
如果没有,继续判断[i+1]。
第3个回答 2019-09-01
#include<iostream.h>
#include<iomanip.h>
void
main()
{
int
i,j,a[6],b[6],temp,e,q,x,y;
for(i=0;i<6;i++)
{
cout<<"请输入数:";
cin>>a[i];
}
e=0;
for(i=0;i<6-e;i++)
{
for(j=1;j<6-i-e;j++)
{
if(a[i]==a[i+j])
{
temp=a[i+j];
a[i+j]=a[5-e];
a[5-e]=temp;
e++;
}
}
}
for(x=0;x<6-e;x++)
{
b[x]=a[x];
}
for(x=0;x<6-e;x++)
for(y=0;y<5-e-x;y++)
{
if(b[y]<b[y+1])
{
q=b[y];
b[y]=b[y+1];
b[y+1]=q;
}
}
for(x=0;x<6-e;x++)
{
cout<<setw(5)<<b[x];
}
cout<<endl;
}
#include<iomanip.h>
void
main()
{
int
i,j,a[6],b[6],temp,e,q,x,y;
for(i=0;i<6;i++)
{
cout<<"请输入数:";
cin>>a[i];
}
e=0;
for(i=0;i<6-e;i++)
{
for(j=1;j<6-i-e;j++)
{
if(a[i]==a[i+j])
{
temp=a[i+j];
a[i+j]=a[5-e];
a[5-e]=temp;
e++;
}
}
}
for(x=0;x<6-e;x++)
{
b[x]=a[x];
}
for(x=0;x<6-e;x++)
for(y=0;y<5-e-x;y++)
{
if(b[y]<b[y+1])
{
q=b[y];
b[y]=b[y+1];
b[y+1]=q;
}
}
for(x=0;x<6-e;x++)
{
cout<<setw(5)<<b[x];
}
cout<<endl;
}
第4个回答 2009-04-23
我用伪代码吧
定义
shu[n],x=0
赋值
for(i=0;i<n;i++)
scanf("%d",&shu[i]);
运算
排序
for(j=1;j<n;j++)
{
for(i=0;i<n-1;i++)
{
if(shu[j]>=shu[i])
{
temp=shu[i];
shu[i]=shu[j];
shu[j]=temp;
}
}
}
去除相同元素
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(shu[j]=shu[i])
{
x=x-1;
}
}
}
输出
for(i=0;i<n-x;i++)
{
printf("%d",shu[i]);
}
定义
shu[n],x=0
赋值
for(i=0;i<n;i++)
scanf("%d",&shu[i]);
运算
排序
for(j=1;j<n;j++)
{
for(i=0;i<n-1;i++)
{
if(shu[j]>=shu[i])
{
temp=shu[i];
shu[i]=shu[j];
shu[j]=temp;
}
}
}
去除相同元素
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(shu[j]=shu[i])
{
x=x-1;
}
}
}
输出
for(i=0;i<n-x;i++)
{
printf("%d",shu[i]);
}