首页 > 其他分享 >C语言新手经典基础题——冒泡排序

C语言新手经典基础题——冒泡排序

时间:2024-03-15 20:29:05浏览次数:19  
标签:arr 14 13 冒泡排序 C语言 66 91 新手 87

冒泡排序:用户输入一组数,编写程序将该组数据进行从小到大的顺序进行排列。

举个例子:用户输入; 14 13 91 87 66 这一组数据,现在要将这组数据进行从小到大的程序进行排列。

我们编写程序的思路如下:

现将第一个数和第二个数进行比较,即14和13,13比14小,那么就将13和14进行位置的调换,13排在了第一个(13和14进行位置的调换)

然后将14和91进行比较(即第二个数和第三个数进行比较),14比91小,那么14的位置不动,91的位置也不动(14和91不进行位置的调换)

第三步将第三个数和第四个数进行比较,即91和87进行比较,91>87,所以91位置往后移一位,87往前移动一位(将91和87的位置进行调换)

第四步将第四个数和第五个数进行比较,即91和66进行比较,91>66,所以91的位置往后移动一位,66往前移动一位(将91和66的位置进行调换)

那么根据以上的叙述,我们发现经过了四次的比较,我们将14 13 91 87 66这5个数中的最大的那个数91移动到了最后。即对于五个数进行从大到小的排序,我们在第一次的时候就行了4循环,即5-1次。那么第二次的时候就是5-1-1次的循环比较了。

具体的程序代码如下:

#include <stdio.h>
#define X 10
int main()
{
	int i, j;
	int t, n;
	t = 0;
	int arr[X] = {0};

	for(i = 0; i < X; i++)
	{
		scanf("%d",&arr[i]);
	}

	for(j = 0; j < X - 1; j++)
	{
		for(i = 0; i < X - j - 1 ;i++)
		{
			if(arr[i] < arr[i+1])
			{
				t = arr[i];
				arr[i] = arr[i+1];
				arr[i+1] = t; 
			}
		}
	}

	for(n = 0; n < X; n++)
	{
		printf("%d",arr[n]);
	}
	return 0;
}

标签:arr,14,13,冒泡排序,C语言,66,91,新手,87
From: https://blog.csdn.net/2301_80125121/article/details/136698981

相关文章

  • C语言实验1
    #include<stdio.h>#include<stdlib.h>intmain(){printf("0\n");printf("<H>\n");printf("II\n");printf("0\n");printf("<H>\n");printf("II\n......
  • C语言调整奇数偶数顺序
    输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。代码如下#include<stdio.h>voidFunction(int*p,intk){ int*left=p; int*right=p+k-1; while(left<right){ while(le......
  • C语言实验1
    #include<stdio.h>#include<stdlib.h>intmain(){printf("o\n");printf("<H>\n");printf("II\n");printf("o\n");printf("<H>\n");printf("II\......
  • 实验1 C语言输入输出和简单程序编写
    task1_1.c1#include<stdio.h>2intmain()3{4printf("O\n");5printf("<H>\n");6printf("II\n");7printf("O\n");8printf("<H>\n");9prin......
  • C语言中抽象函数与具体实现的命名与组织
    C语言中抽象函数与具体实现的命名与组织在C语言的项目开发中,尤其是嵌入式系统和开源软件项目里,合理地命名和组织抽象函数及其具体实现对于提高代码的可读性、可维护性和可扩展性至关重要。以下是关于如何在这些项目中有效地处理抽象和实现的一些建议:抽象函数与具体实现的区分A......
  • C语言之Linux环境下学习(二)
    C语言目录一、Linux指令补充1.rm:移除文件2.cat:查看文件内容3.cp:复制文件4.mv:剪切4.tar:压缩文件二、Linux指令之通配符1.通配符2.Tab自动补全功能前言针对上一节部分Linux指令操作知识的补充,以及快捷键的使用。一、Linux指令补充1.rm:移除文件  ......
  • C语言小游戏:猜数字
    //猜数字#include<stdio.h>#include<stdlib.h>intmain(){ inta,x,y,n,b=0; printf("请输入范围1~n中n的值:"); scanf("%d",&n); a=rand()%n+1; while(1) { printf("请输入一个整数:"); scanf("%d",&x); if(x&......
  • Linux下配置vim以及编译C语言
    在Linux下配置Vim和编译C语言程序是很常见的任务。下面是在Ubuntu上配置Vim和编译C语言程序的简要步骤:1.安装Vim大多数Linux发行版默认都已经安装了Vim,如果您的系统没有安装,可以使用包管理工具来安装。sudoaptupdatesudoaptinstallvim2.配置V......
  • C语言初学习——易错点合集(持续更新中)
    转义字符例题一intmain(){chars[]="012xy\08s34f4w2";inti,n=0;for(i=0;s[i]!=0;i++){if(s[i]>='0'&&s[i]<='9'){n++;}}printf(&quo......
  • 实验一c语言输入输出和简单程序应用编程
    1#include<stdio.h>2intmain()3{456printf("o\n");7printf("<H>\n");8printf("II\n");9printf("o\n");10printf("<H>\n");11......