【发布时间】:2020-11-25 20:45:39
【问题描述】:
所以我试图使用 if 和 else if 循环找到具有最低值的元素。
我已经输入了这个确切的东西来找到最高值。
就像我从字面上复制和粘贴相同的代码一样,我只是更改了符号。
这个功能完美。
但是为了找到这段代码中的最小值,它只是返回为month1 = 0,值为0。
我已经认真地逐行扫描,看看是否有问题。
但我真的不知道出了什么问题,这有点令人沮丧。
请帮忙。
变量最低是双精度。
变量month1是一个整数。
if(rainfall[0] < rainfall[1] & rainfall[0] < rainfall[2] & rainfall[0] < rainfall[3]
& rainfall[0] < rainfall[4] & rainfall[0] < rainfall[5] & rainfall[0] < rainfall[6]
& rainfall[0] < rainfall[7] & rainfall[0] < rainfall[8] & rainfall[0] < rainfall[9]
& rainfall[0] < rainfall[10] & rainfall[0] < rainfall[11])
{
lowest = rainfall[0];
month1 = 1;
}
else if(rainfall[1] < rainfall[0] & rainfall[1] < rainfall[2] & rainfall[1] < rainfall[3]
& rainfall[1] < rainfall[4] & rainfall[1] < rainfall[5] & rainfall[1] < rainfall[6]
& rainfall[1] < rainfall[7] & rainfall[1] < rainfall[8] & rainfall[1] < rainfall[9]
& rainfall[1] < rainfall[10] & rainfall[1] < rainfall[11])
{
lowest = rainfall[1];
month1 = 2;
}
else if(rainfall[2] < rainfall[0] & rainfall[2] < rainfall[1] & rainfall[2] < rainfall[3]
& rainfall[2] < rainfall[4] & rainfall[2] < rainfall[5] & rainfall[2] < rainfall[6]
& rainfall[2] < rainfall[7] & rainfall[2] < rainfall[8] & rainfall[2] < rainfall[9]
& rainfall[2] < rainfall[10] & rainfall[2] < rainfall[11])
{
lowest = rainfall[2];
month1 = 3;
}
else if(rainfall[3] < rainfall[0] & rainfall[3] < rainfall[1] & rainfall[3] < rainfall[2]
& rainfall[3] < rainfall[4] & rainfall[3] < rainfall[5] & rainfall[3] < rainfall[6]
& rainfall[3] < rainfall[7] & rainfall[3] < rainfall[8] & rainfall[3] < rainfall[9]
& rainfall[3] < rainfall[10] & rainfall[3] < rainfall[11])
{
lowest = rainfall[3];
month1 = 4;
}
else if(rainfall[4] < rainfall[1] & rainfall[4] < rainfall[2] & rainfall[4] < rainfall[3]
& rainfall[4] < rainfall[0] & rainfall[4] < rainfall[5] & rainfall[4] < rainfall[6]
& rainfall[4] < rainfall[7] & rainfall[4] < rainfall[8] & rainfall[4] < rainfall[9]
& rainfall[4] < rainfall[10] & rainfall[4] < rainfall[11])
{
lowest = rainfall[4];
month1 = 5;
}
else if(rainfall[5] < rainfall[1] & rainfall[5] < rainfall[2] & rainfall[5] < rainfall[3]
& rainfall[5] < rainfall[4] & rainfall[5] < rainfall[0] & rainfall[5] < rainfall[6]
& rainfall[5] < rainfall[7] & rainfall[5] < rainfall[8] & rainfall[5] < rainfall[9]
& rainfall[5] < rainfall[10] & rainfall[5] < rainfall[11])
{
lowest = rainfall[5];
month1 = 6;
}
else if(rainfall[6] < rainfall[0] & rainfall[6] < rainfall[1] & rainfall[6] < rainfall[2]
& rainfall[6] < rainfall[3] & rainfall[6] < rainfall[4] & rainfall[6] < rainfall[5]
& rainfall[6] < rainfall[7] & rainfall[6] < rainfall[8] & rainfall[6] < rainfall[9]
& rainfall[6] < rainfall[10] & rainfall[6] < rainfall[11])
{
lowest = rainfall[6];
month1 = 7;
}
else if(rainfall[7] < rainfall[1] & rainfall[7] < rainfall[2] & rainfall[7] < rainfall[3]
& rainfall[7] < rainfall[4] & rainfall[7] < rainfall[5] & rainfall[7] < rainfall[6]
& rainfall[7] < rainfall[0] & rainfall[7] < rainfall[8] & rainfall[7] < rainfall[9]
& rainfall[7] < rainfall[10] & rainfall[7] < rainfall[11])
{
lowest = rainfall[7];
month1 = 8;
}
else if(rainfall[8] < rainfall[1] & rainfall[8] < rainfall[2] & rainfall[8] < rainfall[3]
& rainfall[8] < rainfall[4] & rainfall[8] < rainfall[5] & rainfall[8] < rainfall[6]
& rainfall[8] < rainfall[7] & rainfall[8] < rainfall[0] & rainfall[8] < rainfall[9]
& rainfall[8] < rainfall[10] & rainfall[8] < rainfall[11])
{
lowest = rainfall[8];
month1 = 9;
}
else if(rainfall[9] < rainfall[1] & rainfall[9] < rainfall[2] & rainfall[9] < rainfall[3]
& rainfall[9] < rainfall[4] & rainfall[9] < rainfall[5] & rainfall[9] < rainfall[6]
& rainfall[9] < rainfall[7] & rainfall[9] < rainfall[8] & rainfall[9] < rainfall[0]
& rainfall[9] < rainfall[10] & rainfall[9] < rainfall[11])
{
lowest = rainfall[9];
month1 = 10;
}
else if(rainfall[10] < rainfall[1] & rainfall[10] < rainfall[2] & rainfall[10] < rainfall[3]
& rainfall[10] < rainfall[4] & rainfall[10] < rainfall[5] & rainfall[10] < rainfall[6]
& rainfall[10] < rainfall[7] & rainfall[10] < rainfall[8] & rainfall[10] < rainfall[9]
& rainfall[10] < rainfall[0] & rainfall[10] < rainfall[11])
{
lowest = rainfall[10];
month1 = 11;
}
else if(rainfall[11] < rainfall[1] & rainfall[11] < rainfall[2] & rainfall[11] < rainfall[3]
& rainfall[11] < rainfall[4] & rainfall[11] < rainfall[5] & rainfall[11] < rainfall[6]
& rainfall[11] < rainfall[7] & rainfall[11] < rainfall[8] & rainfall[11] < rainfall[9]
& rainfall[11] < rainfall[10] & rainfall[11] < rainfall[0])
{
lowest = rainfall[11];
month1 = 12;
}
【问题讨论】:
-
一方面
&是按位与,&&是逻辑与。 (你想要后者)。 -
AND 操作是
&&,带有两个&。你正在做的是完全不同的事情。 -
以后用语言标记你的问题 - 不要把语言放在标题中。
标签: c++ arrays variables element