要求用户输入10个数字使用冒泡法从小到大排序把排序结果进行输出并另外输出排序后第5个数字用c语言写

2025-01-06 09:57:32
推荐回答(4个)
回答1:

#includeint main(){
    int i=0,j=0;
    int a[10]={1,3,4,5,6,7,9,8,10,2},tmp;
    while(10>i++){
        scanf("%d",&a[i-1]);
    }
    for(i=0;i<10;i++)
    {
        for(j=0;j<10-i;j++)
        {
            if(a[j]>a[j+1])
            {
                tmp = a[j];
                a[j] = a[j+1];
                a[j+1] = tmp; 
            }
        }
    }
    i=0;
    while(10>i++)
    {
        printf("%d ",a[i-1]);
    }
    printf("\n%d\n",a[4]);}

回答2:

#include 

#define LEN 10

/*由小到大冒泡排序*/
void bubbleSort(int arr[], int len) {
int i, j, 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 arr[LEN];
int i;

puts ("请输入10个数字:");
for (i=0; i scanf ("%d",&arr[i]);

bubbleSort (arr,LEN);

puts ("排序后结果:");
for (i=0; i printf ("%d\t",arr[i]);
putchar ('\n');

puts ("排序后第5个数字:");
printf ("%d",arr[4]);
putchar ('\n');

getch ();/*屏幕暂留*/
return 0; 
}

运行结果

回答3:

#include 

int main()

{int i,j,k,t,a[10];

 for(i=0;i<10;i++)

   scanf("%d",&a[i]);

 for(i=0;i<9;i++)

  for(j=0;j<9-i;j++)

    if(a[j]>a[j+1])

    {t=a[j];a[j]=a[j+1];a[j+1]=t;}

  for(i=0;i<10;i++)

   printf("%d ",a[i]);

 printf("\n");  

 printf("排序后的第5个数字是:%d\n",a[4]);

 return 0;

}

回答4:

根据你的需求写的代码,具体一些小细节可以根据需要修改

#include
#define N 10

int main() {
    int s[N];
    for(int i = 0; i < N; i++) {
        scanf("%d", &s[i]);
    }
    for(int i = 0; i < N - 1; i++) {
        for(int j = 0; j < N - i - 1; j++) {
            if(s[j] > s[j + 1]) {
                int t = s[j];
                s[j] = s[j + 1];
                s[j + 1] = t;
            }
        }
    }
    for(int i = 0; i < N; i++) {
        printf("%d ", s[i]);
    }
    printf("\n%d\n", s[4]);
    return 0;
}

欢迎追问,满意请采纳,谢谢