请设计函数完成对数组的运算并编写主函数测试这些函数,定义长度为100的整数数组data保存100个整数(用随机数产生<1000的数)定义函数sort将数组元素按值递增有序排序
时间: 2024-09-06 15:05:59 浏览: 78
要完成这个任务,首先需要定义一个排序函数`sort`来对数组元素进行排序。然后在主函数中创建一个大小为100的整数数组,并用随机数填充,接着调用`sort`函数对数组进行排序,并可以打印出排序后的结果以供验证。
以下是一个简单的实现示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ARRAY_SIZE 100
#define MAXRAND 1000
// 函数声明
void sort(int arr[], int size);
void printArray(int arr[], int size);
int main() {
int data[ARRAY_SIZE];
// 初始化随机数发生器
srand((unsigned int)time(NULL));
// 填充数组
for (int i = 0; i < ARRAY_SIZE; ++i) {
data[i] = rand() % MAXRAND; // 生成小于1000的随机数
}
// 打印原始数组
printf("Original array:\n");
printArray(data, ARRAY_SIZE);
// 对数组进行排序
sort(data, ARRAY_SIZE);
// 打印排序后的数组
printf("\nSorted array:\n");
printArray(data, ARRAY_SIZE);
return 0;
}
// 函数定义
void sort(int arr[], int size) {
for (int i = 0; i < size - 1; ++i) {
for (int j = 0; j < size - i - 1; ++j) {
if (arr[j] > arr[j + 1]) {
// 交换两个元素的位置
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
void printArray(int arr[], int size) {
for (int i = 0; i < size; ++i) {
printf("%d ", arr[i]);
}
printf("\n");
}
```
在上述代码中,`sort`函数实现了一个简单的冒泡排序算法,它通过重复遍历数组,比较相邻元素并在必要时交换它们的位置,直到数组完全有序。`printArray`函数用于打印数组中的元素。
阅读全文