输入10个数,排序,由小到大输出结果

代码:

#define N 10
int main(){
    void sort(int arr[]);
    int arr[N];
    for(int i=0;i<N;i++){
        printf("请输入第%d个数:\n",i+1);
        scanf("%d",&arr[i]);
    }
    sort(arr);
    printf("排序后的结果为:\n");
    for(int i=0;i<N;i++){
        printf("%d ",arr[i]);
    }
    return 0;
}
void sort(int arr[]){
    int i,j,max=0,temp;
    for(i=0;i<N-1;i++){
        max=i;
        for(j=i+1;j<N;j++){
            if(arr[max]>arr[j]){
                temp=arr[max];
                arr[max]=arr[j];
                arr[j]=temp;
            }
        }
    }
}

运行结果:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 下面是使用冒泡排序算法将四个字从小到大排序的 Python 代码示例: ``` def bubble_sort(numbers): for i in range(len(numbers) - 1): for j in range(len(numbers) - i - 1): if numbers[j] > numbers[j + 1]: numbers[j], numbers[j + 1] = numbers[j + 1], numbers[j] return numbers numbers = [int(input("请输入第{}个字:".format(i + 1))) for i in range(4)] sorted_numbers = bubble_sort(numbers) print("排序后的字为:", sorted_numbers) ``` 运行这段代码后,程序会提示用户输入四个字,并将它们从小到大排序。 ### 回答2: 冒泡排序是一种简单的排序算法,其基本思想是通过相邻元素之间的比较和交换,将较大的元素逐步“冒泡”到最后的位置。下面是使用冒泡排序输入的4个进行从小到大排序的步骤: 1. 首先,输入4个,假设分别为a、b、c和d。 2. 比较相邻的两个,比较a和b的大小,如果a大于b,则交换它们的位置,保证a的值小于等于b。此时,a和b的相对顺序已经确定。 3. 再比较b和c的大小,如果b大于c,则交换它们的位置,保证b的值小于等于c。此时,b和c的相对顺序已经确定。 4. 再比较c和d的大小,如果c大于d,则交换它们的位置,保证c的值小于等于d。此时,c和d的相对顺序已经确定。 5. 至此,第一轮比较结束,最大的d已经“冒泡”到了最后的位置。 6. 接下来,进行第二轮比较。第二轮比较的次是3次,因为最后一个已经是最大的。 7. 重复第2步到第6步,直到所有的都按照从小到大的顺序排列好。 举个例子,假设输入的4个为4、2、1和3,按照上述步骤进行排序的过程如下: 第一轮比较:4、2、1、3 -> 2、1、3、4 第二轮比较:2、1、3、4 -> 1、2、3、4 第三轮比较:1、2、3、4 -> 1、2、3、4 最终输出的结果为1、2、3、4,即从小到大排列的顺序。 ### 回答3: 冒泡排序是一种简单的排序算法,它通过重复地遍历待排序序列,比较相邻元素的大小,并进行交换,将较大的元素逐步向后移动,从而实现排序的目的。 对于输入的4个,我们可以使用冒泡排序的思想来进行排序。首先,将这4个按照从小到大的顺序排列,需要进行3次遍历。 第一次遍历:比较第1个和第2个的大小,如果第1个大于第2个,则交换它们的位置;然后比较第2个和第3个的大小,如果第2个大于第3个,则交换它们的位置;最后比较第3个和第4个的大小,如果第3个大于第4个,则交换它们的位置;这样就完成了第一次遍历,得到的序列是第1个到第4个中的最小在最左边。 第二次遍历:对于第一次遍历得到的序列,按照同样的方式进行比较交换,得到的序列是第2个到第4个中的最小在左侧。 第三次遍历:对于第二次遍历得到的序列,按照同样的方式进行比较交换,最终得到的序列是按照从小到大排列的4个。 因此,按照冒泡排序的过程,我们可以将这4个由小到大输出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值