编程实现从键盘输入10个数据,数据冒泡排序

编程实现从键盘输入10个数据,对这10个数据进行从大到小排序并输出。用冒泡排序完成。(要求输出每一趟的中间结果)

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7690892
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:任意从键盘输入10个整数,用函数编程实现计算其中的最大值。
  • 除此之外, 这篇博客: (2)用选择法对10个整数排序中的 用选择法对10个整数排序 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    选择法排序:指每次选择所要排序的数组中的最大值(由小到大排序则选择最小值)的数组元素,将这个数组元素的值与最前面没有进行排序的数组元素的值互换。
    程序设计:在改例中变量i代表每次排序所选择的数组元素的值,用变量j遍历未排序的数组中的元素。若符合条件,则交换两者的值。

    #include<stdio.h>
    #include<math.h>
    #include<stdlib.h>
    int main()
    {
    	int i,j;
    	int t;
    	int a[10];
    	printf("Please Enter ten number:");
    	for (i = 0; i < 10; i++)
    	{
    		scanf_s("%d", &a[i]);
    	}
    	for (i = 0; i < 10; i++)
    	{
    		for (j = i+1; j < 10; j++)
    		{
    			if (a[j] < a[i])
    			{
    				t = a[j]; a[j] = a[i]; a[i] = t;
    			}
    		}
    	}
    	for (i = 0; i < 10; i++)
    	{
    		printf("%d ", a[i]);
    	}
    	system("pause");
    	return 0;
    }
    

    调试结果如下:
    在这里插入图片描述

  • 您还可以看一下 张飞老师的硬件开发与电路设计速成入门到精通视频教程第一部课程中的 分析整流桥电路,电容计算小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    请帮我编写一段程序,让用户能够通过键盘输入10个数字,并进行冒泡排序。请确保排序过程中,中间结果逐步展示,最终按照从大到小的顺序输出排好序的结果。

    def bubble_sort(nums):
        """
        冒泡排序
        """
        n = len(nums)
        for i in range(n-1):
            flag = False # 标记,如果本趟没有交换元素,则说明已有序
            for j in range(n-1-i): # 第i趟排序后,已经排好i个元素,内循环比较至n-i-1
                if nums[j] < nums[j+1]: # 如果前一个元素比后一个元素小,则交换位置
                    nums[j], nums[j+1] = nums[j+1], nums[j]
                    flag = True # 本趟有交换,说明还未完全有序
            if not flag: # 本趟无交换,说明已有序
                break
            print(nums) # 输出排序过程中的中间结果
    
    if __name__ == '__main__':
        nums = []
        for i in range(10):
            num = int(input("请输入第%d个数字:" % (i+1)))
            nums.append(num)
        bubble_sort(nums)
        print("排序完成!结果为:", end='')
        for num in nums:
            print(num, end=' ')
    

    运行效果:

    输入:

    请输入第1个数字:8
    请输入第2个数字:2
    请输入第3个数字:5
    请输入第4个数字:9
    请输入第5个数字:1
    请输入第6个数字:3
    请输入第7个数字:7
    请输入第8个数字:6
    请输入第9个数字:4
    请输入第10个数字:0
    

    输出:

    [8, 5, 9, 2, 3, 7, 6, 4, 1, 0]
    [8, 9, 5, 3, 7, 6, 4, 2, 1, 0]
    [9, 8, 5, 7, 6, 4, 3, 2, 1, 0]
    [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
    [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] # 因为已经有序,因此排序结束
    排序完成!结果为:9 8 7 6 5 4 3 2 1 0 
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^