那这样呢
#include<stdio.h>
#include<math.h>
int main(void)
{
int a[500],b,n,m;
scanf("%d",&n);
for(b=0;b<n;b++)
{
scanf("%d",&a[b]);
}
for(b=n-2;b>=0;b--)
{
if(a[b]>a[b+1])
{
m=a[b+1];
a[b+1]=a[b];
a[b]=m;
}
}
for(b=0;b<n;b++)
{
printf("%d\t",a[b]);
}
printf("\n");
return 0;
}
不用排序就是取最小值
手打代码:
int main()
{
int n;
int min = 100;
cin>>n;
int a[n+5];
for(int i = 0; i < n; i++)
{
cin>>a[i];
if (a[i] < min)
{min=a[i];}
}
cout<<min<<" ";
for (int i = 0; i < n; i++)
{
if (i != n-1)
{
cout<<" ";
}
if (a[i] != min)
{
cout<<a[i];
}
}
cout<<endl;
return 0;
}
int main(void)
{
int n=0;
scanf("%d",&n);
int num[1000];
for(int i=0;i<n;++i)
{
scanf("%d",&num[i]);
}
// 找到最小值
int min=num[0];
for(int i=1;i<n;++i)
{
if(min>num[i])
min=num[i];
}
// 将所有最小值移动到前面
for(int i=n-1;i>=0;--i)
{
if(min == num[i])
{
for(int j=i-1;j>=0;--j)
{
num[j+1]=num[j]; //其他说顺序往后移动
}
num[0]=min;
}
}
for(int i=0;i<n;++i)
{
printf("%d ",num[i]);
}
printf("\n");
return 0;
}
#include<stdio.h>
#define MAXSIZE 1000
int main(){
int a[MAXSIZE];
int len = 0,i,j,minValue=0x7fffffff,tmp=0;
scanf("%d",&len);
//简单选择排序变形
for(i=0;i<len;i++){
scanf("%d",&a[i]);
if(a[i]<minValue) {
minValue = a[i];
}
}
for(i=1;i<len-1;i++){
if(a[i]!=minValue)
continue;
tmp = a[i];
for(j=i-1;j>=0&&a[j]>tmp;j--){
a[j+1] = a[j];
}
a[j+1] = tmp;
}
for(i=0;i<=len-1;i++){
printf("%d ",a[i]);
}
printf("\n");
}
//7 80 70 62 90 75 62 90
#include<stdio.h>
#define MAXSIZE 1000
int main(){
int a[MAXSIZE] ={0};
int len =0,i,j,minValue=0x7ffffff,index=0,tmp=0;
scanf("%d",&len);
//简单选择排序变形
for(i=0;i<len;i++){
scanf("%d",&a[i]);
if(a[i]<minValue) {
minValue = a[i];
index=i;
}
}
tmp = a[index];
for(j=index-1;j>=0&&a[j]>tmp;j--){
a[j+1] = a[j];
}
a[j+1] = tmp;
for(i=0;i<=len-1;i++){
printf("%d ",a[i]);
}
printf("\n");
}
//7 80 70 62 90 75 62 90