c语言 用一个函数实现用冒泡法对十个整数升序和降序排列 麻烦写全些

2024-12-16 18:58:27
推荐回答(5个)
回答1:

#include 
void sort1(int a[],int n)
{int i,j,t;
 for(i=0;i   for(j=0;j     if(a[j]>a[j+1])
     {t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
void sort2(int a[],int n)
{int i,j,t;
 for(i=0;i   for(j=0;j     if(a[j]     {t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
int main()
{int i,a[10];
 for(i=0;i<10;i++)
   scanf("%d",&a[i]);
 printf("\n");
 sort1(a,10);  
 for(i=0;i<10;i++)
   printf("%d ",a[i]);
 printf("\n\n");
 sort2(a,10);  
 for(i=0;i<10;i++)
   printf("%d ",a[i]);
 printf("\n");
 return 0;
}

回答2:

降序#include
#define Len 10
void bubble_sort_desc(int arr[], int len)
{
    int i, j;  int temp;
    for (i = 0; i < len - 1; i++)
        for (j = 0; j < len - 1 - i; j++)
            if (arr[j] < arr[j + 1])
            {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
}
int main(void)
{
    int num[Len],i;
    for(i = 0 ; i < Len ; i++)scanf("%d",&num[i]);
    bubble_sort_desc(num, Len);
    for(i = 0 ; i < Len ; i++)printf("%d ",num[i]);
    return 0;
}
升序#include
#define Len 10
void bubble_sort_asc(int arr[], int len)
{
int i, j;  int temp;
for (i = 0; i < len - 1; i++)
for (j = 0; j < len - 1 - i; j++)
if (arr[j] > arr[j + 1])
{
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
int main(void)
{
int num[Len],i;
for(i = 0 ; i < Len ; i++)scanf("%d",&num[i]);
bubble_sort_asc(num, Len);
for(i = 0 ; i < Len ; i++)printf("%d ",num[i]);
return 0;
}

回答3:

运行通过
#include"stdio.h"
void main()
{
int a[10]={100,5,212,255,2,1,0,85,22,-7,};
int i,j,k;
for(i=0;i<9;i++)
for(j=i+1;j<10;j++)
if(a[i]>a[j]) //这种方式升序排列,若要降序把"<"改成">"即可
{k=a[i];a[i]=a[j];a[j]=k;}
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
}

回答4:

main()
{ int a[10]=[1 2 3 4 5 6 7 8 9 10];
int i,j,k;
for(i=0;i<9,i++)
for(j=i+1;j<10;j++)
if(a[i]"即可
{k=a[i];a[i]=a[j];a[j]=k;}
}

回答5:

void sort(int *p)
{
unsigned char i,j,temp;
for(i = 0; i < 10; i++)
{
for(j = 0; j < i; j++)
{
if(p[j] > p[j+1])
{
temp = p[j]
p[j] = p[j+1];
p[j+1] = temp;
}
}
}
}