C语言编写程序将一维数组a中的若干个数按从大到小的顺序有序。
时间: 2024-02-01 07:13:35 浏览: 23
可以使用冒泡排序或者选择排序来实现。这里给出冒泡排序的示例代码:
```c
#include <stdio.h>
#define N 10
void bubble_sort(int a[], int n)
{
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - 1 - i; j++) {
if (a[j] < a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
int main()
{
int a[N] = {2, 3, 1, 5, 4, 8, 7, 9, 6, 0};
int i;
bubble_sort(a, N);
for (i = 0; i < N; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
运行结果为:
```
9 8 7 6 5 4 3 2 1 0
```
其中 `bubble_sort` 函数实现了冒泡排序, `main` 函数中测试了排序的正确性。
相关问题
C语言将一个二维数组中的数据,按行的顺序依次放到一维数组中
好的,将一个二维数组中的数据,按行的顺序依次放到一维数组中的C语言代码如下(假设二维数组为`arr`,一维数组为`result`):
```c
// 获取二维数组的行数和列数
int row_num = sizeof(arr) / sizeof(arr[0]);
int col_num = sizeof(arr[0]) / sizeof(arr[0][0]);
// 遍历二维数组,将每个元素放入一维数组中
int k = 0;
for (int i = 0; i < row_num; i++) {
for (int j = 0; j < col_num; j++) {
result[k++] = arr[i][j];
}
}
```
这样,就把二维数组中的所有元素按行的顺序依次放到了一维数组中。需要注意的是,上述代码中的变量`k`表示一维数组的下标,它的初始值为0,每放入一个元素就自增1。
c语言将一个一维数组中的元素按照从大到小的顺序进行排序,并输出排序结果
好的,以下是C语言将一个一维数组中的元素按照从大到小的顺序进行排序的代码:
```c
#include <stdio.h>
void bubbleSort(int arr[], int n) {
int temp;
for(int i = 0; i < n - 1; i++) {
for(int j = 0; j < n - i - 1; j++) {
if(arr[j] < arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int n, arr[100];
printf("请输入你要排序的数组元素个数(不超过100):");
scanf("%d", &n);
printf("请输入你要排序的数组:");
for(int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
bubbleSort(arr, n);
printf("排序后的数组为:");
for(int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
以上代码中使用了冒泡排序算法对数组进行排序,从而实现了将数组元素按照从大到小的顺序进行排序的功能。