利用C语言定义由10个元素组成的整型数组,给数组元素赋随机数(1-100)并输 出。然后分别按照从小到大和从大到小顺序输出。
时间: 2024-02-13 17:05:58 浏览: 72
好的,以下是C语言代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ARRAY_SIZE 10
// 从小到大排序
void sort_asc(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (arr[i] > arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
// 从大到小排序
void sort_desc(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (arr[i] < arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
int main() {
int i, arr[ARRAY_SIZE];
// 初始化随机数种子
srand((unsigned int)time(NULL));
// 给数组元素赋随机数(1-100)
for (i = 0; i < ARRAY_SIZE; i++) {
arr[i] = rand() % 100 + 1;
}
// 输出原始数组
printf("原始数组:");
for (i = 0; i < ARRAY_SIZE; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 从小到大排序并输出
sort_asc(arr, ARRAY_SIZE);
printf("从小到大排序后的数组:");
for (i = 0; i < ARRAY_SIZE; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 从大到小排序并输出
sort_desc(arr, ARRAY_SIZE);
printf("从大到小排序后的数组:");
for (i = 0; i < ARRAY_SIZE; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
代码中使用了 srand 和 rand 函数来生成随机数,并使用了冒泡排序的思想对数组进行排序。
阅读全文