我有解决此问题的问题。 这个任务很简单,首先输入我有多少个例子。 在第二行我需要输入即将阅读的数字。 然后我们输入空格分隔的所有数字。 这个任务本身就是这样做的,它将字符串数组从小写到最大。之后,如果我们输入偶数,我们打印中间数字-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