一次性输入8个整数(空格间隔),将它们从小到大排序后输出,并给出现在每个元素在原来序列中的位置。
时间: 2024-01-04 09:04:31 浏览: 65
排序后输出从小到大每个数的原本位置
好的,这是一个简单的排序问题,我可以为您提供一个C++程序示例,实现对输入的8个整数进行排序,并输出它们的排序结果和原始位置。
```C++
#include <iostream>
#include <algorithm>
using namespace std;
struct Node
{
int val;
int pos;
}a[8];
bool cmp(Node x, Node y)
{
return x.val < y.val;
}
int main()
{
for(int i = 0; i < 8; ++i)
{
cin >> a[i].val;
a[i].pos = i+1;
}
sort(a, a+8, cmp);
for(int i = 0; i < 8; ++i)
{
cout << a[i].val << " " << a[i].pos << endl;
}
return 0;
}
```
在这个程序中,我们定义了一个结构体`Node`,它包含了两个成员变量`val`和`pos`,分别表示输入的整数和它在原始序列中的位置。我们通过重载`cmp`函数,使用`sort`函数对`Node`数组进行排序,并输出它们的值和位置。
阅读全文