要求接受10个数,输出的时候最大的放在最后一个,最小的放在第一位,其他的排列按输入的时候的顺序显示!~~
我老是显示不出来!~~请高手帮忙
你那个不行啊!给你参考:
#include <iostream.h> void main() { int a[10],max,min,i,k=0,j=0; for(i=0;i<10;i++) { cout<<"输入第"<<i+1<<"个数 : "; cin>>a[i]; } max=a[0]; min=a[0]; for(i=0;i<10;i++) { if(a[i]>max) { max=a[i]; k=i; } if(a[i]<min) { min=a[i]; j=i; } } for(i=k;i<=9;i++) a[i]=a[i+1]; for(i=j;i>=0;i--) a[i]=a[i-1]; a[0]=min; a[9]=max; for(i=0;i<=9;i++) cout<<a[i]<<endl; }
main()
{int a[10],max,min,t,i;
printf("input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
max=min=a[0];
for(i=1;i<10;i++)
{if(max<a[i]) max=a[i];
else if(min>a[i]) min=a[i];}
for(i=0;i<10;i++)
{if(a[i]==max) {t=a[9];a[9]=a[i];a[i]=t;}
if(a[i]==min) {t=a[0];a[0]=a[i];a[i]=t;}
}
for(i=0;i<10;i++)
printf("%5d",a[i]);
printf("\n");
}