我有解決此問題的問題。 這個任務很簡單,首先輸入我有多少個例子。 在第二行我需要輸入即將閱讀的數字。 然後我們輸入空格分隔的所有數字。 這個任務本身就是這樣做的,它將字符串數組從小寫到最大。之後,如果我們輸入偶數,我們打印中間數字-1,如果它們不均勻,我們只打印中間數字。使用數字C++排序字符串數組
到目前爲止,如果我使用完全相同的長代碼,它完美的作品,但它只限於19位數字,我想擴大該程序,使其可以使用更大的數字。
使用這種方式的排序功能,當我嘗試從160到10排序16個元素,他們都搞砸了從110開始,然後在midle是160,所以一個,這使得絕對無意義,使用5個數字或8完美無缺地工作,使用更多數字失敗。
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main() {
int examples;
cin >> examples;
for (size_t i = 0; i < examples; i++)
{
long long unsigned int n;
cin >> n;
string * numbers = new string[n];
for (size_t i = 0; i < n; i++)
{
cin >> numbers[i];
}
sort(numbers, numbers + n);
if (n % 2 == 0) {
cout << numbers[n/2 - 1];
}
else
cout << numbers[n/2];
}
system("pause");
return 0;
}
您是否嘗試過使用調試器? –
有幾個「bignum」庫。嘗試並搜索一下。 –
看看'__int128' – Raindrop7