C++ C++;数组中的数字排序
我正试图把它弄出来:C++ C++;数组中的数字排序,c++,loops,for-loop,C++,Loops,For Loop,我正试图把它弄出来: 110 29 3.8 47 5.6 我该怎么做 我的代码: #include <iostream> #include <cmath> using namespace std; int main() { const int n=10; int Tab[n]={1,2,3,4,5,6,7,8,9,10}; for(int i=0;
- 110
- 29
- 3.8
- 47
- 5.6
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
const int n=10;
int Tab[n]={1,2,3,4,5,6,7,8,9,10};
for(int i=0; i<5; i++)
for(int j=5; j>=0; j--)
cout << Tab[i] << " " << Tab[j] << endl;
return 0;
}
#包括
#包括
使用名称空间std;
int main()
{
常数int n=10;
int Tab[n]={1,2,3,4,5,6,7,8,9,10};
对于(int i=0;i=0;j--)
cout您的代码存在多个问题
您需要迭代数组的所有元素
我该怎么做
您不需要两个循环,只需使用一个循环并计算第二个索引:
for(int i=0; i<n/2; i++)
cout << Tab[i] << " " << Tab[n-i-1] << endl;
for(int i=0;i如果要对数组进行排序,可以使用std::sort函数。此函数适用于数组或向量。您的是数组。
需要两个参数:数组的开头和要对数组进行排序的长度n。
范例
#包括
使用名称空间std;
int main()
{
int arr[]={1,5,8,9,6,7,3,4,2,0};
int n=sizeof(arr)/sizeof(arr[0]);
排序(arr,arr+n);
你的问题是什么?你的数组已经排序了,所以不需要再排序了。是不是29,38,47,56?是的,因为在你建议的输出中你跳过了9,但不清楚why@Slava我犯了错误。我的错。它不起作用。*10*2 10*3 10*4 9*5 8这是你的代码。犯了错误,应该是-1
不是+1
,现在它已修复,请参见实时示例
for(int i=0; i<n/2; i++)
cout << Tab[i] << " " << Tab[n-i-1] << endl;
for(int i=0; i<(n+1)/2; i++)
#include <bits/stdc++.h>
using namespace std;
int main()
{
int arr[] = { 1, 5, 8, 9, 6, 7, 3, 4, 2, 0 };
int n = sizeof(arr) / sizeof(arr[0]);
sort(arr, arr + n);
cout << "\nArray after sorting ";
for (int i = 0; i < n; ++i)
cout << arr[i] << " ";
return 0;
}