C++ 下面的代码没有打印任何内容 #包括 #包括 #包括:
您的代码甚至没有编译 在C语言中不能这样做++C++ 下面的代码没有打印任何内容 #包括 #包括 #包括:,c++,C++,您的代码甚至没有编译 在C语言中不能这样做++ #include <iostream> #include <iterator> #include <algorithm> using namespace std; int ma(float array[], int N) { int k = 0; float max = array[k]; for (int i = 0; i < N; ++i) { if (arr
#include <iostream>
#include <iterator>
#include <algorithm>
using namespace std;
int ma(float array[], int N)
{
int k = 0;
float max = array[k];
for (int i = 0; i < N; ++i) {
if (array[i] > max) {
max = array[i];
k = i;
}
}
return k;
}
int main()
{
int t;
while (t--) {
int n;
cin >> n;
int w[n], p[n];
for (int i = 0; i < n; i++)
cin >> w[i];
for (int i = 0; i < n; i++)
cin >> p[i];
float x[n];
for (int i = 0; i < n; i++)
x[i] = p[i] / w[i];
int weigth = 0, profit = 0;
while (weigth <= 20) {
// int k=distance(x, max_element(x, x + n));
// int k= std::distance(x, max_element(x, x + sizeof(x)/sizeof(x)));
int k = ma(x, n);
weigth = weigth + w[k];
profit = profit + p[k];
x[k] = p[k] = w[k] = 0;
}
cout << weigth << endl
<< profit << endl;
}
}
因为n在编译时必须是常数,另一方面,执行以下操作:
int n;
cin >> n;
int w[n], p[n];
由于t未初始化,循环中产生了不可预测的迭代次数为了正确编译代码,您必须将
int n
声明为const int n
;当(t-)-您忘记初始化t
“如果您想问这个问题…”。。什么如果您想要答案,您应该在问题中提供一个问题,而不是隐藏在一个链接后面,该链接要求我登录您可能想要int t=N
的地方,其中N是任何非零值(例如10),您应该决定值是多少,因为如果不登录Inca,我就看不到问题。我建议从更简单的开始-谢谢..我只是不小心滑倒了,忘了添加cin>>t@PRATIKAHUJA跳过6个左右的字符是一个很大的失误。
int t;
while (t--) {