Dev C++ 给出了一个输出,但是 Visual studio code 给出了相同代码的另一个输出
Dev C++ gives one output, but Visual studio code gives another output for same code
Dev C++ 给出了一个输出,但是 Visual studio code 给出了相同代码的另一个输出
为什么会这样?
任何想法,可能是由不同的编译选项引起的,或者是这里代码中的一些错误。
询问您是否需要更多信息,我不知道为什么会这样。
如果这发生在这么小的代码上,那么大的代码会发生什么。
#include <iostream>
using namespace std;
int main() {
int line[10];
int i, j;
bool growing = false;
cout << "Input 10 numbers:\n";
for (i = 0; i < 10; i++ ) {
cin >> line[i];
}
if (i >= 10) {
for (j = 0; j < 10;) {
if (line[j] < line[j + 1]) {
growing= true;
j++;
}
else {
growing= false;
j = 12;
}
}
}
if (j >= 10 && growing== false) {
cout << "Not growing";
}
else if (j >= 10 && growing== true
) {
cout << "Growing";
}
}
试试这个解决方案。从 1 开始变量 j
并将 line[j - 1]
与 line[j]
进行比较。 j
在这种情况下最多为 9。
#include <iostream>
using namespace std;
int main()
{
int line[10];
bool growing = false;
cout << "Input 10 numbers:\n";
for (int i = 0; i < 9; i++)
{
cin >> line[i];
}
for (int j = 1; j < 10; j++)
{
if (line[j - 1] < line[j])
{
growing = true;
continue; // start next iteration and skips line 22 and 23
}
growing = false;
break; // stops the loop and moves to line 25
}
if (growing)
{
cout << "Growing";
}
else
{
cout << "Not Growing";
}
}
或者更简单:
#include <iostream>
int main()
{
const int size = 10;
int line[size];
for (int i = 0; i < size; i++)
{
std::cin >> line[i];
}
for (int i = 1; i < size; i++)
{
if (!(line[i - 1] < line[i]))
{
std::cout << "Not Growing\n";
return 0;
}
}
std::cout << "Growing";
}
Dev C++ 给出了一个输出,但是 Visual studio code 给出了相同代码的另一个输出 为什么会这样? 任何想法,可能是由不同的编译选项引起的,或者是这里代码中的一些错误。 询问您是否需要更多信息,我不知道为什么会这样。 如果这发生在这么小的代码上,那么大的代码会发生什么。
#include <iostream>
using namespace std;
int main() {
int line[10];
int i, j;
bool growing = false;
cout << "Input 10 numbers:\n";
for (i = 0; i < 10; i++ ) {
cin >> line[i];
}
if (i >= 10) {
for (j = 0; j < 10;) {
if (line[j] < line[j + 1]) {
growing= true;
j++;
}
else {
growing= false;
j = 12;
}
}
}
if (j >= 10 && growing== false) {
cout << "Not growing";
}
else if (j >= 10 && growing== true
) {
cout << "Growing";
}
}
试试这个解决方案。从 1 开始变量 j
并将 line[j - 1]
与 line[j]
进行比较。 j
在这种情况下最多为 9。
#include <iostream>
using namespace std;
int main()
{
int line[10];
bool growing = false;
cout << "Input 10 numbers:\n";
for (int i = 0; i < 9; i++)
{
cin >> line[i];
}
for (int j = 1; j < 10; j++)
{
if (line[j - 1] < line[j])
{
growing = true;
continue; // start next iteration and skips line 22 and 23
}
growing = false;
break; // stops the loop and moves to line 25
}
if (growing)
{
cout << "Growing";
}
else
{
cout << "Not Growing";
}
}
或者更简单:
#include <iostream>
int main()
{
const int size = 10;
int line[size];
for (int i = 0; i < size; i++)
{
std::cin >> line[i];
}
for (int i = 1; i < size; i++)
{
if (!(line[i - 1] < line[i]))
{
std::cout << "Not Growing\n";
return 0;
}
}
std::cout << "Growing";
}