#include <iostream>
using namespace std;
void check(int[], int);
void reverse(int[], int);
int main(void)
{
int n;
int num[100001];
while (cin >> n)
{
for (int i = 0; i < n; i++)
{
cin >> num[i];
}
check(num, n);
for (int i = 0; i < n; i++)
{
cout << num[i] << " ";
}
cout << endl;
reverse(num, n);
for (int i = 0; i < n; i++)
{
if (num[i] != num[i + 1])
{
cout << num[i] << " ";
}
}
cout << endl;
}
return 0;
}
void check(int num[], int n)
{
long long int temp;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (num[i] < num[j])
{
temp = num[i];
num[i] = num[j];
num[j] = temp;
}
}
}
return;
}
void reverse(int num[], int n)
{
long long int temp;
for (int i = 0; i < (n / 2); i++)
{
temp = num[i];
num[i] = num[n - i - 1];
num[n - i - 1] = temp;
}
return;
}
#include
using namespace std;
void check(int[], int);
void reverse(int[], int);
int main(void)
{
int n;
int num[100001];
while (cin >> n)
{
for (int i = 0; i < n; i++)
{
cin >> num[i];
}
check(num, n);
for (int i = 0; i < n; i++)
{
cout << num[i] << " ";
}
cout << endl;
reverse(num, n);
for (int i = 0; i < n; i++)
{
if (num[i] != num[i + 1])
{
cout << num[i] << " ";
}
}
cout << endl;
}
return 0;
}
void check(int num[], int n)
{
long long int temp;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (num[i] < num[j])
{
temp = num[i];
num[i] = num[j];
num[j] = temp;
}
}
}
return;
}
void reverse(int num[], int n)
{
long long int temp;
for (int i = 0; i < (n / 2); i++)
{
temp = num[i];
num[i] = num[n - i - 1];
num[n - i - 1] = temp;
}
return;
}
#2 #5 #6測資過不去
不知道哪邊出了問題
目前只知道好像是reverse那邊有問題(從測試結果來看)
請各位大神指點 感謝!
for (int i = 0; i < n; i++)
{
if (num[i] != num[i + 1])
當i等於n-1的時候,會變成if (num[n-1] != num[n]),可是你的陣列只輸入到n-1而已,可能會造成最後一個數字沒有輸出。
另外你排序的作法效率不高,會TLE,其實可以用內建的sort()就好了
for (int i = 0; i < n; i++)
{
if (num[i] != num[i + 1])
當i等於n-1的時候,會變成if (num[n-1] != num[n]),可是你的陣列只輸入到n-1而已,可能會造成最後一個數字沒有輸出。另外你排序的作法效率不高,會TLE,其實可以用內建的sort()就好了
原來
感謝大佬!
終於AC啦!~~
#include <iostream>
#include <algorithm>
using namespace std;
int main(void)
{
int n;
int num[100001];
while (cin >> n)
{
for (int i = 0; i < n; i++)
{
cin >> num[i];
}
sort(num, num + n);
for (int i = 0; i < n; i++)
{
cout << num[i] << " ";
}
cout << endl;
for (int i = n - 1; i >= 0; i--)
{
if (num[i] != num[i - 1])
{
cout << num[i] << " ";
}
}
cout << endl;
}
return 0;
}