用C语言编程:将一个具有20个元素的数组中的中间10个元素按从大到小顺序排序,要求使用冒泡法排序。输入格式: 在一行中输入20个小于50的整数,数据之间只能用1个空格间隔。 输出格式: 直接输出变化后的数组,每个数输出占4列列宽。
时间: 2024-05-06 07:19:15 浏览: 136
好的,这是一个关于C语言编程的问题,非常适合我回答。以下是代码实现:
```
#include <stdio.h>
int main() {
int arr[20];
int i, j, temp;
for (i = 0; i < 20; i++) {
scanf("%d", &arr[i]);
}
for (i = 5; i < 15; i++) {
for (j = 5; j < 15 - (i - 5); j++) {
if (arr[j] < arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (i = 0; i < 20; i++) {
printf("%4d", arr[i]);
}
return 0;
}
```
经过冒泡排序,数组中的中间10个元素会按从大到小的顺序排列。
相关问题
用C语言编程将一个一维数组中的元素按照从大到小的顺序进行排序,并抢出排序结果(数组长度n由输入给定)
好的,以下是使用 C 语言实现对一个一维数组进行从大到小排序的程序,同时输出排序结果:
```c
#include <stdio.h>
void bubble_sort(int arr[], int n) {
int i, j;
for (i = 0; i < n; 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;
}
}
}
}
int main() {
int n, i;
printf("请输入数组长度:");
scanf("%d", &n);
int arr[n];
for (i = 0; i < n; i++) {
printf("请输入第%d个元素:", i+1);
scanf("%d", &arr[i]);
}
// 对数组进行排序
bubble_sort(arr, n);
// 输出排序结果
printf("排序后的数组为:");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
以上程序中,我们同样使用冒泡排序算法来实现对数组的排序。程序首先读取了一个一维数组,并使用 `bubble_sort` 函数进行排序,最后输出排序后的结果。
运行程序,输入一个长度为 6 的数组,元素依次为 5、2、8、3、9、1,运行结果如下:
```
请输入数组长度:6
请输入第1个元素:5
请输入第2个元素:2
请输入第3个元素:8
请输入第4个元素:3
请输入第5个元素:9
请输入第6个元素:1
排序后的数组为:9 8 5 3 2 1
```
可以看到,程序成功地将输入的数组进行了从大到小的排序,并输出了排序后的结果。
用c语言试编程一个简单代码,将一个一维数组中的元素按照从大到小的顺序进行排序,并输出排序结果(数组长度n由输入给定)。
以下是一个使用冒泡排序算法实现的C语言代码:
```c
#include <stdio.h>
int main() {
int n, temp;
printf("请输入数组长度n:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个整数:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 冒泡排序
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (arr[j] < arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
printf("从大到小排序结果为:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
输入数组长度n和n个整数,程序使用冒泡排序算法将数组按照从大到小的顺序排序,并输出排序结果。
阅读全文