满意答案
ss880116
2013.11.30
采纳率:48% 等级:11
已帮助:15484人
#include
#include
#include
#define MAXLENGTH 10 //这里请自己改成100就可以了,我测试只用10!void Fill(int numbers[])
{
srand((unsigned)time(NULL)); for(int i=0;i
{
numbers[i]=rand()%900+100;
printf("%d ",numbers[i]);
}
printf("\n");
}void Sort1(int numbers[])
{
//选择排序(从大到小)
for(int i=0;i
{
for(int j=i+1;j
{
if(numbers[i]
{
numbers[i]^=numbers[j];
numbers[j]^=numbers[i];
numbers[i]^=numbers[j];
}
}
}
for(int l=0;l
{
printf("%d ",numbers[l]);
}
printf("\n");
}void Sort2(int numbers[])
{
//插入排序(从小到大)
int tempnumbers[MAXLENGTH+1]; for(int i=0;i
{
if(i==0)
{
tempnumbers[0]=numbers[0];
}
else
{
int index = 0;
//寻找比插入数字大的那个最小数字(寻找插入点)
for(int j=0;j
{
if(tempnumbers[j]>numbers[i])
{
index = j;
break;
}
} //后移动数据
for(int k=i;k>=index;--k)
{
tempnumbers[k+1]=tempnumbers[k];
} //插入
tempnumbers[index]=numbers[i];
}
} for(int l=0;l
{
numbers[l]=tempnumbers[l];
printf("%d ",numbers[l]);
}
printf("\n");}
int main()
{
int numbers[MAXLENGTH];
Fill(numbers);
Sort1(numbers);
Sort2(numbers); system("pause");
}
00分享举报