#include<stdio.h> #define MAXN 10 void swap(int *px, int *py); void bubble(int a[], int n); int main() { int n,a[MAXN]; int i; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&a[i]); } bubble(a,n); for(i=0;i<n;i++){ printf("%3d",a[i]); } return 0; } void bubble(int a[],int n) { int i,j,t; for(i=1;i<n;i++){ for(j=0;j<n-1;j++){ if(a[j]>a[j+1]){ swap(&a[j],&a[j+1]); } } } }
时间: 2024-04-20 08:27:24 浏览: 13
这是一个使用冒泡排序算法对输入的数组进行排序的 C 语言程序。程序中定义了一个宏 MAXN,表示数组的最大长度为 10。在主函数中,先读入数组的长度 n,然后读入 n 个整数,存储在数组 a 中。接着调用 bubble 函数,对数组 a 进行冒泡排序。最后输出排序后的数组。
bubble 函数中使用两重循环,外层循环从 1 到 n-1,内层循环从 0 到 n-2,每次比较相邻的两个元素,如果前一个元素比后一个元素大,则交换它们的位置。swap 函数用于交换两个整数的值。
这个程序的时间复杂度为 O(n^2),对于较大的数组可能会比较慢。
相关问题
对以下代码纠正#include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> #define MaxSize 100 #define ElemType int #define Status int
这段代码是一个C语言的头文件引用部分,它包含了一些常用的标准库和宏定义。具体解释如下:
1. `#include<stdio.h>`:引用了标准输入输出库,可以使用printf和scanf等函数。
2. `#include<stdlib.h>`:引用了标准库,可以使用malloc和free等函数进行内存管理。
3. `#include<string.h>`:引用了字符串处理库,可以使用strcpy和strlen等函数进行字符串操作。
4. `#include<math.h>`:引用了数学库,可以使用数学函数如sin和cos等。
5. `#define MaxSize 100`:定义了一个宏常量MaxSize,表示数组的最大长度为100。
6. `#define ElemType int`:定义了一个宏常量ElemType,表示数组元素的类型为int。
7. `#define Status int`:定义了一个宏常量Status,表示函数返回的状态类型为int。
这些头文件和宏定义可以提供一些常用的功能和数据类型,方便在代码中使用。如果你有其他问题,请继续提问。
补全#include<stdio.h> #include<malloc.h> #define MaxSize 50 typedef int ElemType; typedef struct { Elem
#include<stdio.h>
#include<malloc.h>
#define MaxSize 50
typedef int ElemType;
typedef struct
{
ElemType data[MaxSize];
int length;
}SqList;
这段代码是一个C语言的头文件补全,包含了stdio.h和malloc.h两个头文件,并定义了一个常量MaxSize为50。同时,定义了一个类型别名ElemType为int,并声明了一个结构体SqList,其中包含了一个数组data和一个整型变量length。