编写一个C语言程序,对一个数组实现冒泡排序。sort.c:包含冒泡排序的函数;main.c:加载sort.c,并实现主函数用来测试排序函数;编写makefile,并使用make对该程序进行编译连接。
时间: 2024-05-01 18:18:41 浏览: 8
Sure, 我可以帮你回答这个问题。以下是程序代码和 Makefile 文件的示例:
sort.c:
```
#include<stdio.h>
/* function to perform bubble sort */
void bubbleSort(int arr[], int n) {
int i, j;
for(i = 0; i < n-1; i++) {
for(j = 0; j < n-i-1; j++) {
if(arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
```
main.c:
```
#include<stdio.h>
#include "sort.c"
int main() {
int arr[] = { 5, 8, 1, 3, 7 };
int n = sizeof(arr) / sizeof(arr[0]);
int i;
printf("Before sorting: ");
for(i=0;i<n;i++)
printf("%d ", arr[i]);
bubbleSort(arr, n);
printf("\nAfter sorting: ");
for(i=0;i<n;i++)
printf("%d ", arr[i]);
printf("\n");
return 0;
}
```
Makefile:
```
CC=gcc
CFLAGS=-I.
main: main.o sort.o
$(CC) -o main main.o sort.o
main.o: main.c
$(CC) -c main.c $(CFLAGS)
sort.o: sort.c
$(CC) -c sort.c $(CFLAGS)
clean:
rm -f *.o main
```
你可以使用 `make` 命令来创建可执行文件。