#include<stdio.h>
void Sort1(int a[],int n);
void Sort2(int a[],int n,char style);
void Sort3(int a[],int n,char style);
int main()
{
int fen[10],i,j,n;
int count;
char word;
for(i=0;i<10;i++)
{
scanf("%d",&fen[i]);
}
Sort1(fen,10);
for(i=9;i>=0;i--)
{
printf("%d ",fen[i]);
}
printf("ÇëÊäÈë¸öÊý:");
scanf("%d",&count);
getchar();
printf("ÇëÊäÈëÑ¡Ôñ:");
scanf("%c",&word);
if(word=='d')
{
Sort2(fen,count,word);
for(i=0;i<count;i++)
{
printf("%d ",fen[i]);
}
}
else
{
Sort3(fen,count,word);
for(i=0;i<count;i++)
{
printf("%d ",fen[i]);
}
}
return 0;
}
void Sort1(int a[10],int n)
{
int i,j,t;
for(i=0;i<n;i++)
{
for(j=0;j<n-i;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[i]=a[i+1];
a[i+1]=t;
}
}
}
}
void Sort2(int a[10],int n,char style)
{
int i,j,t;
for(i=0;i<n;i++)
{
for(j=0;j<n-i;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[i]=a[i+1];
a[i+1]=t;
}
}
}
}
void Sort3(int a[10],int n,char style)
{
int i,j,t;
for(i=0;i<n;i++)
{
for(j=0;j<n-i;j++)
{
if(a[j]<a[j+1])
{
t=a[j];
a[i]=a[i+1];
a[i+1]=t;
}
}
}
}
冒泡排序写错了,以下面为例,其他的都是这个问题
void Sort1(int a[10],int n)
{
int i,j,t;
for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++) //第一处修改
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1]; //第二处修改
a[j+1]=t; //第三处修改
}
}
}
}