开发者社区> 问答> 正文

输入10个数,用冒泡排序法按由小到大顺序排序并输出??c语言的

输入10个数,用冒泡排序法按由小到大顺序排序并输出??c语言的

展开
收起
知与谁同 2018-07-15 09:19:16 8538 0
3 条回答
写回答
取消 提交回答
  • 云栖社区聚能聊、问答管理员~发福利、搞怪,八卦我来,论技术、发话题、写博客你上!
    #include<stdio.h>
    #include<string.h>

    /*
    对输入的10个数,用冒泡排序法按由小到大顺序排序*/
    void Sort(int array[10])
    {
    int temp;
    for(int i=0;i<10;i++)
    {
    for(int j=1;j<10-i;j++)
    {
    if (array[j-1] > array[j])
    {
    temp = array[j-1];
    array[j-1] = array[j];
    array[j] = temp;
    }
    }
    }
    }
    void main()
    {
    int array[10];
    printf("请输入10个数:");
    for(int i=0;i<10;i++)
    scanf("%d",&array[i]);
    Sort (array);

    for(int j=0;j<10;j++)//输入排序结果
    printf("%d ",array[j]);
    printf("\n");

    }
    2019-07-17 22:50:45
    赞同 展开评论 打赏
  • #include <stdio.h>
    #define N 10
    void main(){
    int s[N],flag,temp;
    printf("输入10个整数:\n");
    for(int k=0;k<N;k++){
    printf("s[%d]=",k);
    scanf("%d",&s[k]);
    }
    for(int i=0;i<N;i++){ //冒泡排序
    flag=0;
    for(int j=1;j<N-i;j++)
    if(s[j-1]>s[j]){
    temp=s[j];
    s[j]=s[j-1];
    s[j-1]=temp;
    flag=1;
    }
    if(!flag) break;
    }
    printf("\n排序后数组为:\n");
    for(int j=0;j<N;j++)
    printf("s[%d]=%d\n",j,s[j]);
    }

    -------------------------

    #include <stdio.h>
    #define MAXN 10

    int main()
    {
    int arr[MAXN], tmp;
    int i, j;
    for (i = 0; i < MAXN; i++)
    scanf("%d", &arr[i]);
    for (i = 0; i < MAXN - 1; i++)
    for (j = MAXN - 1; j > i; j--)
    if (arr[j] < arr[j - 1])
    {
    tmp = arr[j];
    arr[j] = arr[j - 1];
    arr[j - 1] = tmp;
    }
    for (i = 0; i < MAXN; i++)
    printf(i == MAXN - 1 ? "%d\n" : "%d ", arr[i]);
    return 0;
    }

    2019-07-17 22:50:45
    赞同 展开评论 打赏
  • 这个时候,玄酱是不是应该说点什么...

    1 输入;

    2 排序;

    3 输出。

    参考代码如下: #include <stdio.h>
    int main()
    {
        int a[10];//用来存数据
        int i,j,temp;
        
        for(i = 0; i < 10; i ++)//输入10个数。
            scanf("%d",&a[i]);
       for (j = 0; j < 9; j++)//标准冒泡法排序
            for (i = 0; i < 9- j; i++)
            {
                if(a[i] > a[i + 1])
                {
                    temp = a[i];
                    a[i] = a[i + 1];
                    a[i + 1] = temp;
                }
            }
            
         for(i = 0; i < 10; i ++)//输出。
            printf("%d,",&a[i]);
         printf("\n");
         
         return 0;
    }

    2019-07-17 22:50:45
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载