首次迭代时C ++循环卡住

时间:2017-09-05 22:56:53

标签: c++ arrays

我获得了一项任务,即制作一个程序,让用户将12个月中每个月的总降雨量输入到一系列双打中。

该计划应计算并显示当年的总降雨量,月平均降雨量以及最高和最低量的月份。

我的教授要求我简单地修改她为我们提供的骨架。该程序编译得很好,问题是在第一次迭代它显示第一个月但停在那里。

不确定我做错了什么,有什么想法吗?

以下是相关区域的代码。

for index, element in enumerate(my_list):
    print(index, element)

2 个答案:

答案 0 :(得分:1)

这是您作业的解决方案

#include <iostream>
using namespace std;
int main()
{
 double rain_fall[12] , maxi=0 , mini , sum=0; // maxi for the highest  
 //amount mini for the lowest
 for(int i=0; i<12; i++)
{
    cout<<"please enter the total amount of rainfall in the month number "
    <<i+1<< endl;
    cin>>rain_fall[i];
    if(i==0)
        mini=rain_fall[i];  // happened just once to give it an initial 
    value from the array
    if(maxi<rain_fall[i]) // the highest  amount
        maxi=rain_fall[i];
    else if (mini>rain_fall[i])
        mini=rain_fall[i];  // the lowest  amount
    sum+=rain_fall[i];
}
cout<<"the total amount in the year is : "<<sum<< endl;
cout<<"the average amount per month is : "<<sum/12<< endl;
cout<<"the highest  amount in the year is : "<<maxi<< endl;
cout<<"the lowest  amount in the year is : "<<mini<< endl;
return 0;
}

我在这里做什么
我做了一个快捷方式,通过在比赛期间获得最高和最低价值 从用户那里获取输入,这里是代码的解释..

首先我从用户接收输入然后第一次输入,只是一次我给迷你一个值,因为如果我们为它分配一个零,它必须从数组输入中给出一个值。月份金额大于零,但EX的最低金额为2,因此如果0> [有价值的话],那么给我最低金额的if语句将是一个错误。 并且每次它都是假的,所以迷你将保持零并将其显示为最低值,但实际上我们在阵列中没有零,而最低值是2,正如我们假设的那样,因此迷你应该具有包含金额

的数组中存在的值

之后我们给它做一个if语句来与输入进行比较以保存其中的最大值,我们为它分配了一个零因为任何东西都会大于零所以如果(0&lt; [什么是值]如果我们已经获得最大值

,那么将会顺利然后给出错误

之后我们在sum变量中相互添加输入以获得所有月份的总量

之后在cout声明中获得每月平均金额U除以12 [月数]的总数

答案 1 :(得分:-1)

while(cin&amp;&amp; rainfallsArr [month]&gt; 0);