c++输入一个正整数n(5<n<20),再输入n个整数,使用冒泡排序,将n个整数由大到小输出
时间: 2024-01-01 10:05:44 浏览: 35
好的,我可以帮你解决这个问题。
以下是 C++ 的代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int n, arr[20];
cin >> n;
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
// 冒泡排序
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] < arr[j + 1]) {
swap(arr[j], arr[j + 1]);
}
}
}
// 输出排序后的结果
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
程序首先读入一个正整数 n 和 n 个整数,然后使用冒泡排序将这 n 个整数从大到小排序,最后输出排序后的结果。
希望能够帮到你!
相关问题
输入一个正整数n(1<n<=10),再输入n个整数,将他们从大到小排序后输出 点击复制后,将打开C知道体验页 这是一个简单的排序问题,c++
语言代码如下:
```
#include <stdio.h>
int main()
{
int n, i, j, temp;
int a[10];
scanf("%d", &n); // 输入n
for(i = 0; i < n; i++)
{
scanf("%d", &a[i]); // 输入n个整数
}
// 冒泡排序
for(i = 0; i < n - 1; i++)
{
for(j = 0; j < n - i - 1; j++)
{
if(a[j] < a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
// 输出排序后的结果
for(i = 0; i < n; i++)
{
printf("%d ", a[i]);
}
return 0;
}
```
代码思路:
1. 首先输入正整数n和n个整数,保存在数组a中。
2. 使用冒泡排序,从大到小排序数组a。
3. 输出排序后的结果。
用c++写输入一个正整数n(1<n≤10),再输入n个整数,将这个数列中的第m项到第k项(k>m)中的各整数从 大到小排序后输出。试编写相应程序。
好的,让我来为您解答这个问题。以下是用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"的整数序列。