使用C语言用数组的解题方式编写一个代码:输入一个正整数N(N>1≤10)再输入N个整数,将它们从大到小排序后输出
时间: 2025-02-04 07:22:31 浏览: 37
好的,我可以为您编写一个使用C语言和数组来解决这个问题的代码。以下是符合要求的代码:
```c
#include <stdio.h>
// 函数声明
void sortDescending(int arr[], int size);
void swap(int *a, int *b);
int main() {
int N;
printf("请输入一个正整数N(N>1≤10):");
scanf("%d", &N);
if (N <= 1 || N > 10) {
printf("输入的N不符合要求。\n");
return 1;
}
int numbers[N];
printf("请输入%d个整数:", N);
for (int i = 0; i < N; i++) {
scanf("%d", &numbers[i]);
}
sortDescending(numbers, N);
printf("从大到小排序后的结果:");
for (int i = 0; i < N; i++) {
printf("%d ", numbers[i]);
}
printf("\n");
return 0;
}
void sortDescending(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]) {
swap(&arr[j], &arr[j + 1]);
}
}
}
}
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
这个程序的工作原理如下:
1. 首先,我们提示用户输入一个正整数N,并检查它是否符合要求(N>1≤10)。
2. 然后,我们声明一个大小为N的整数数组,并提示用户输入N个整数。
3. 我们定义了一个`sortDescending`函数来对数组进行降序排序。这个函数使用冒泡排序算法。
4. 在`sortDescending`函数中,我们使用两个嵌套的循环来比较数组中的元素。如果前一个元素小于后一个元素,我们就交换它们的位置。
5. 我们还定义了一个`swap`函数来交换两个整数的值。
6. 排序完成后,我们打印出排序后的结果。
这个程序满足了题目的所有要求:使用C语言编写,输入一个正整数N(N>1≤10),输入N个整数,将它们从大到小排序后输出。
阅读全文
相关推荐


















