「C语言」「算法」数组的冒泡排序

 1 #include<stdio.h>
 2 #define N 10
 3
 4 //数组的冒泡排序
 5
 6 void sort(int b[]){
 7     int i,j;
 8     for(i=0;i<N;i++){
 9         for(j=i+1;j<N;j++){
10             if(b[i]>b[j]){
11                 b[i]^=b[j];
12                 b[j]^=b[i];
13                 b[i]^=b[j];
14             }
15         }
16     }
17 }
18
19 int main() {
20     int a[N];
21     int i,j;
22     printf("input:\n");
23     for(i=0;i<N;i++){
24         scanf("%d",&a[i]);
25     }
26     printf("before:\n");
27     for(i=0;i<N;i++){
28         printf("%d  ",a[i]);
29     }
30     printf("\n");
31     sort(a);
32     printf("after:\n");
33     for(i=0;i<N;i++){
34         printf("%d  ",a[i]);
35     }
36     return 0;
37 }
时间: 2024-12-19 10:24:36

「C语言」「算法」数组的冒泡排序的相关文章

「C语言回顾之旅」第一篇:指针详解

说明: 最近学校课程开设了<数据结构>的课程,无疑,数据结构的重要性在IT生涯的进阶路上是不可置疑的,也常说,数据结构是专业性与非专业性的分界线.所以无论以后走的是什么方向,毕竟是读计算机专业的,所以必须学好数据结构的.虽然目前我给自己定的方向是走运维/系统架构方向的,可有句话说得好,不懂开发的运维注定会被淘汰,在IT这一行,要让自己变得更加强大.最近也一直在学Python,感觉还不错,学数据结构相信对自己也肯定有好处的,对一些较为底层的知识有些了解和理解,这样才能走得更远! 无疑C语言就很重

「C语言回顾之旅」第二篇:指针详解进阶

说明: 第一篇回顾了指针的基本概念以及基本使用,因此对指针也有了一个较为清晰的思路,但实际上第一篇关于指针的内容是不太容易忘记的.这是第二篇中的内容是比较容易混淆,但对于指针的进一步学习也是非常重要的. 一.指向函数的指针 1.函数指针 ·函数指针即指向函数的指针,函数指针值为函数的入口地址,通过使用该指针,即可以使用该函数: ·编写一个程序返回两个数的最大值,通过函数指针调用函数: a.main函数代码如下: #include<stdio.h> int max(int *, int *);

C语言之基本算法35—数组上三角之积 主对角之积 副对角之积

//数组算法 /* ============================================================= 题目:求四阶矩阵上三角之积,主对角之积,副对角之积: 如: 8  3  6  5 0  4  3  2 0  6  1  5 7  0  0  2 上三角之积为:172800 主对角之积为:64 负对角之积为:630 ============================================================= */ #inc

C语言之基本算法30—数组的灵活应用(一个正整数的各位数字平方和)

//数组的灵活应用! /* ===================================================== 题目:求任意输入一个正整数各位数字的平方和,显示如下: 如输入1234,则显示 1*1+2*2+3*3+4*4=30 ===================================================== */ #include<stdio.h> void main() { int a[10]; int n,c,i,sum; printf(

C语言之基本算法37—数组最大值及其位置

//数组运算 /* ================================================================== 题目:查找数组的最大元素,并输出其位置和值! ================================================================== */ #include<stdio.h> #define M 3 #define N 5 void main() { int a[M][N],i,j,max,h,l

C语言值基本算法43—总结

C程序的基本算法共涵盖42个例题,包含了枚举.排列.逻辑判断.迭代.递推.字符串操作.矩阵操作.格式输出等内容. 相关的实现方法有的显得很笨拙,但足够说明问题,而且每个程序都经过作者亲测,保证可以运行.之所以称之为基本算法,就是为了测试基础知识的掌握,都是从原始的角度进行处理,没有运用过于花哨的处理技巧,作者也是在学习中进步,也希望这些代码对于没有基础或者基础薄弱的朋友带来帮助. 至此,基本知识就掌握了,我们常常会听说C的强大,因为它是面向过程的,在数学领域具有极好的应用,有必要进行进一步的学习

「C语言」「例题」数组

本篇收集<C语言程序设计教程>第七章“数组”的所有例题. 每个题中有两种以上解决方法的在该程序中以main2().main3()函数表示.  7.1 10个成绩根据出现次数来排序  7.2 定义一个由整数组成的数组,求出其中奇数的个数和偶数的个数,并打印  7.3 含有5个元素的数组的输入输出和最值  7.4 数组的冒泡排序法  7.5 根据出现次数对10个成绩排序  7.6 二维数组计算两个矩阵MA和MB之差,将结果存储在MA中  7.7 一个2行3列的矩阵的转置(行和列元素互换)  7.8

「C语言」文件的概念与简单数据流的读写函数

写完「C语言」单链表/双向链表的建立/遍历/插入/删除 后,如何将内存中的链表信息及时的保存到文件中,又能够及时的从文件中读取出来进行处理,便需要用到”文件“的相关知识点进行文件的输入.输出. 其实,就算不懂得链表,也完全可以学习”文件“相关知识点,但在此之前最好有”指针“基础. 本篇文章整理自<C语言程序设计教程--人民邮电出版社>第十二章——文件,以作文件探讨. 一.数据流与文件概念 二.文件的打开与关闭 三.文件的顺序读写 四.文件的随机读写 一.数据流与文件概念 1.数据流 数据的输入

「C语言」常量和变量的表示及应用

先发布,还在修改完善中.. 在程序运行中,其值不能改变的量成为常量.在基本数据类型中,常量可分为整型常量.实型常量.符号常量和字符型常量(包括字符常量和字符串常量),现分别介绍如下: 整型常量 即整常数,由一个或多个数字组成,可以带正负号 C语言中整型常量可用十进制.八进制和十六进制3种形式表示 十进制整数:由0~9数字组成,不能以0开始,没有前缀 八进制整数:以0为前缀,其后由0~7的数字组成,没有小数部分 十六进制整数:以0x或0X开头,其后由0~9的数字和a~f(或A~F字母组成) 另外长