如题所述
#include <stdio.h>
main(void)
{
int i,j,a[10],p=0,t=0,temp;
printf("请输入原数组:\n");
for(j=0;j<10;j++)
scanf("%d",&a[j]);
temp=a[0];
for(j=0;j<9;j++)
{
t=j;
temp=a[j];
for(i=j+1;i<10;i++)
if(temp>a[i]) //这是由小到大排序 如果是大到小则改为 if(temp<a[i])
{temp=a[i];p=i;}
{temp=a[p];a[p]=a[t];a[t]=temp;}
}
printf("排序后的数组为:\n");
for(j=0;j<10;j++)
printf("%d ",a[j]);
}
main(void)
{
int i,j,a[10],p=0,t=0,temp;
printf("请输入原数组:\n");
for(j=0;j<10;j++)
scanf("%d",&a[j]);
temp=a[0];
for(j=0;j<9;j++)
{
t=j;
temp=a[j];
for(i=j+1;i<10;i++)
if(temp>a[i]) //这是由小到大排序 如果是大到小则改为 if(temp<a[i])
{temp=a[i];p=i;}
{temp=a[p];a[p]=a[t];a[t]=temp;}
}
printf("排序后的数组为:\n");
for(j=0;j<10;j++)
printf("%d ",a[j]);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-07-24
#include "stdlib.h"
#include "stdio.h"
void select_sort(int data[],int start_index,int data_num)
{//start_index:数组开始的下标 data_num:数据的数目
int temp;
int min_index;//最小值索引
while(start_index<=data_num-1)
{
min_index = start_index;
for(int j=start_index; j<data_num; j++)
{
if(data[min_index]>data[j])
{
min_index = j;
}
}
temp = data[start_index];
data[start_index] = data[min_index];
data[min_index] = temp;
start_index++;
}
}
void main(void)
{
int a[10];
printf("输入10个数:");
for(int i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
select_sort(a,0,10);
printf("\n");
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}本回答被网友采纳
#include "stdio.h"
void select_sort(int data[],int start_index,int data_num)
{//start_index:数组开始的下标 data_num:数据的数目
int temp;
int min_index;//最小值索引
while(start_index<=data_num-1)
{
min_index = start_index;
for(int j=start_index; j<data_num; j++)
{
if(data[min_index]>data[j])
{
min_index = j;
}
}
temp = data[start_index];
data[start_index] = data[min_index];
data[min_index] = temp;
start_index++;
}
}
void main(void)
{
int a[10];
printf("输入10个数:");
for(int i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
select_sort(a,0,10);
printf("\n");
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}本回答被网友采纳
第2个回答 2013-07-24
用冒泡法。
#include <iostream.h>
void main()
{
int a[10],i,j;
j=i=0;
while(j<10) //输入数据
{
cin>>a[j];
j++;
}
j=0;
while(j<10) //
{
while(true)
{
if (a[i]<a[i+1])
{
t=a[i];
a[i]=[i+1];
a[i+1]=t;
}
i++;
if(a[i]=NULL)
break;
}
j++;
}
cout<<a[0]<<ends<<a[1]<<ends<<a[2]<<ends<<a[3]<<endl;
}
从大到小排列
#include <iostream.h>
void main()
{
int a[10],i,j;
j=i=0;
while(j<10) //输入数据
{
cin>>a[j];
j++;
}
j=0;
while(j<10) //
{
while(true)
{
if (a[i]<a[i+1])
{
t=a[i];
a[i]=[i+1];
a[i+1]=t;
}
i++;
if(a[i]=NULL)
break;
}
j++;
}
cout<<a[0]<<ends<<a[1]<<ends<<a[2]<<ends<<a[3]<<endl;
}
从大到小排列