用c语言将30个数字从大到小排序
时间: 2023-05-20 14:04:40 浏览: 145
以下是用C语言将30个数字从大到小排序的代码:
```c
#include <stdio.h>
int main() {
int arr[30] = { 1, 3, 5, 7, 9, 2, 4, 6, 8, 10, 11, 13, 15, 17, 19, 12, 14, 16, 18, 20, 21, 23, 25, 27, 29, 22, 24, 26, 28, 30 };
int i, j, temp;
for (i = 0; i < 30; i++) {
for (j = i + 1; j < 30; j++) {
if (arr[i] < arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
printf("排序后的数组为:\n");
for (i = 0; i < 30; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
输出结果为:
```
排序后的数组为:
30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
```
相关问题
用C语言写一段数字从大到小排序代码
### 回答1:
#include <stdio.h>
int main()
{
int n,i,j,a[30],temp;
printf("Enter the number of elements:");
scanf("%d",&n);
printf("\nEnter the elements:");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]<a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
printf("\nThe numbers arranged in descending order are given below:\n");
for(i=0;i<n;i++)
printf("%d\n",a[i]);
return 0;
}我可以用中文回答你的问题,但是我更建议你去查看C语言的相关文档,因为C语言是一种编程语言,要想写出正确的代码需要掌握一定的语法知识。
### 回答2:
以下是使用C语言编写的一段数字从大到小排序的代码:
```c
#include <stdio.h>
void bubbleSort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n-1; i++) {
for (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 arr[] = {9, 5, 2, 7, 1};
int n = sizeof(arr) / sizeof(arr[0]);
bubbleSort(arr, n);
printf("排序后的数组:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
此代码中使用了冒泡排序算法进行从大到小的排序。首先定义了一个bubbleSort函数来实现冒泡排序的逻辑,然后在主函数中定义一个包含待排序数字的数组arr,并计算数组的长度n。接下来调用bubbleSort函数对数组进行排序,并最后打印出排序后的数组。运行该代码后,输出结果为:9 7 5 2 1,即数字从大到小排序。
### 回答3:
下面是使用C语言写的一段将数字从大到小排序的代码:
```c
#include <stdio.h>
void sortDescending(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 arr[] = {6, 2, 8, 4, 10};
int n = sizeof(arr) / sizeof(arr[0]);
int i;
printf("排序前的数组:");
for(i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
sortDescending(arr, n);
printf("\n排序后的数组:");
for(i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
这段代码使用了冒泡排序算法来将数组中的元素按从大到小的顺序排列。在 `sortDescending` 函数中,使用了两个嵌套的循环来比较数组元素的大小,并按需交换它们的位置。最后,在 `main` 函数中,调用 `sortDescending` 函数将给定的数组排序,并将排序后的结果输出到控制台。在输出结果中,排序前和排序后的数组元素都以空格分隔显示。
c语言怎么把数字从大到小排序
在C语言中,如果你想将一组数字从大到小排序,可以使用标准库函数`qsort()`,配合自定义的比较函数。以下是一个简单的例子,假设我们有一个整数数组需要排序:
```c
#include <stdio.h>
#include <stdlib.h>
// 自定义比较函数,返回值小于0表示第一个元素应该排在前面
int compare(const void* a, const void* b) {
return (*(const int*)b - *(const int*)a);
}
void sort_descending(int arr[], int n) {
qsort(arr, n, sizeof(int), compare); // 使用qsort函数,n是数组长度
}
int main() {
int numbers[] = {5, 2, 9, 1, 7};
int length = sizeof(numbers) / sizeof(numbers[0]);
printf("Original array: ");
for (int i = 0; i < length; i++) {
printf("%d ", numbers[i]);
}
sort_descending(numbers, length);
printf("\nSorted in descending order: ");
for (int i = 0; i < length; i++) {
printf("%d ", numbers[i]);
}
return 0;
}
```
运行这个程序,你会看到数组按照降序排列。
阅读全文