【发布时间】:2018-08-27 14:38:38
【问题描述】:
我试图从一个函数返回 long int 但它根本不起作用,然后我尝试在屏幕上打印一个 long int 数字但仍然不起作用。
#include<iostream>
using namespace std;
long int maximum_product(long int *input_array, int n){
long int a,b;
a = *input_array;
b = *(input_array + 1);
if (b > a){
long int temp = a;
a = b;
b = temp;
}
for (int i = 2; i < n; i++){
if (input_array[i] > b){
if(input_array[i] > a){
b = a;
a = input_array[i];
} else
b = input_array[i];
}
}
return a * b;
}
int main(){
int n;
cin >>n;
long int *input_array = new long int[n];
for (int i = 0; i < n; i++)
cin >> input_array[i];
cout << maximum_product(input_array, n);
return 0;
}
这就是我所说的“不工作”的意思:
#include<iostream>
using namespace std;
int main(){
long int y;
cin >>y;
cout<<y;
return 0;
}
【问题讨论】:
-
“不工作”是对您的问题的错误描述。请描述您的期望、观察到的以及它们有何不同。目前还不清楚是什么问题。
-
欢迎来到 stackoverflow.com。请花一些时间阅读the help pages 和read about how to ask good questions。最后请阅读this question checklist。
-
尝试不带逗号的输入。请尽量避免截图。文本可以复制和粘贴,但我的控制台不接受图像作为输入
-
上一个示例中的问题是
2,....被解析为2。使用std::cin时不能使用,作为分隔符 -
要解决此类问题,首先要隔离问题。这里有两个步骤:读取一堆输入,然后计算结果。为了隔离问题,摆脱输入,并简单地将值分配给数组。看看这是否有效。如果不是,则问题出在计算中;如果它确实有效,则问题出在输入中。
标签: c++