冒泡法排序后插入一个数字

来源:百度知道 编辑:UC知道 时间:2024/06/07 15:54:42
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void main()
{
int data[11];
int i,j,k,n,temp,in;
srand((unsigned)time(NULL));
for(int i=0;i<=9;i++)
{
data[i]=rand()%101;
printf("data[%d]=%d\n",i,data[i]);
}
for(i=1;i<9;i++)
{
for(j=9;j>=i;j--)
{
if(data[j-1]>data[j])
{
temp=data[j-1];
data[j-1]=data[j];
data[j]=temp;
}
}
}
printf("数据排序后的顺序为:");
for(i=0;i<11;i++)
{
printf("%d ",data[i]);
}
printf("\n请输入要插入学员的成绩:");
scanf("%d",&in);
i=0;
while(data[i]>in)
{
i++;
}
temp=data[i];

for(j=9;j>i;j++)
{
data[j]=data[j-1];
}
data[i]=in;

printf("\n插入后的学员成绩排序为:\n");

第1个 ,肯定有相等的阿
如果不想相等,可以在循环一次

比如for(j = 0; j < i; j++)
{
if(data[j] = data[i])
{
i--;
continue;
}
}

2.
for(j=9;j>i;j++)
{
data[j]=data[j-1];
}
data[i]=in;

应该是j = 10;