用c++写输入一个正整数n(1<n≤10),再输入n个整数,将这个数列中的第m项到第k项(k>m)中的各整数从 大到小排序后输出。试编写相应程序。
时间: 2023-06-12 08:02:19 浏览: 116
问题描述:求从1~n的正整数中取出k(k<=n)个不重复整数的所有组合.pdf
好的,让我来为您解答这个问题。以下是用C语言编写的程序:
```c
#include <stdio.h>
#define MAX_N 10
int main() {
int n, m, k, i, j, temp;
int a[MAX_N];
// 输入n和n个整数
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
// 输入m和k
scanf("%d%d", &m, &k);
// 冒泡排序,从大到小排序
for (i = m - 1; i < k; i++) {
for (j = m - 1; j < k - 1; j++) {
if (a[j] < a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
// 输出结果
for (i = m - 1; i < k; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
这个程序可以正常执行输入和输出。当您输入n个整数后,程序会要求输入m和k,并且将第m项到第k项中的各整数从大到小排序后输出。请注意,这个程序应当输入形如"3 8 2 5"的整数序列。
阅读全文