楼主用的是《数据结构》中数据元素比较法 而不是冒泡法
#include <stdio.h>
#define dmax 6 //待排序的数字的个数
int main (void)
{
int i, j, k, w, sum[dmax];
for (i=0; i<dmax; ++i)
{
printf("shu ru di %d ge shu: ",i+1);
scanf("%d",&sum[i]);
}
for (i=0; i<dmax-1; ++i)
{
j = i;
for (k=i+1; k<dmax; ++k)
{
if (sum[i] < sum[k])
j = k;
if (i != j)
{
w = sum[i];
sum[i] = sum[k];
sum[k] = w;
j=i; //这句是我加的
}
}
}
printf("\ncong da dao xiao pai xu:\n");
for (i=0; i<dmax; ++i)
{
printf("%d ",sum[i]);
}
return 0;
}
[此贴子已经被作者于2005-11-25 0:27:09编辑过]
#include <stdio.h>
#define dmax 6
void main()
{
int i,j,k,flag,sum[dmax];
for(i=0;i<dmax;i++)
{
printf("please input %dth number: \n",i+1);
scanf("%d",&sum[i]);
}
for(i=0;i<dmax-1;i++)
{
flag=0;
for(j=1;j<dmax;j++)
{
if(sum[i]>sum[j])
k=sum[j];
sum[j]=sum[i];
sum[i]=k;
flag=1;
}
if(flag==0)
break;
}
printf("the sorted numbers: \n");
for(i=0;i<dmax;i++)
printf("%d",sum[i]);
}
#include <stdio.h>
#define dmax 6 //待排序的数字的个数
int main (void)
{
int i, j, k, w, sum[dmax];
for (i=0; i<dmax; ++i)
{
printf("shu ru di %d ge shu: ",i+1);
scanf("%d",&sum[i]);
}
for (i=0; i<dmax-1; ++i)
{
j = i;
for (k=i+1; k<dmax; ++k)
{
if (sum[i] < sum[k])
j = k;
if (i != j)
{
w = sum[i];
sum[i] = sum[k];
sum[k] = w;
j=i;
}
}
}
printf("\ncong da dao xiao pai xu:\n");
for (i=0; i<dmax; ++i)
{
printf("%d ",sum[i]);
}
return 0;
}